liblinphone 3.9.1

- Main Page
- Related Pages
- Modules
- Data Structures

Data Structures | Macros | Typedefs | Enumerations | Functions
Controlling media parameters

## Data Structures
struct | _LinphoneVideoPolicy

## Macros
#define | LINPHONE_FIND_PAYLOAD_IGNORE_RATE -1
#define | LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS -1
#define | LINPHONE_VIDEO_DISPLAY_AUTO (void*)((unsigned long) 0)
#define | LINPHONE_VIDEO_DISPLAY_NONE (void*)((unsigned long) -1)

## Typedefs
typedef PayloadType | LinphonePayloadType
typedef enum _LinphoneAVPFMode | LinphoneAVPFMode
typedef enum _LinphoneMediaEncryption | LinphoneMediaEncryption
typedef struct _LinphoneVideoPolicy | LinphoneVideoPolicy

## Enumerations
enum | _LinphoneAVPFMode { LinphoneAVPFDefault =-1, LinphoneAVPFDisabled, LinphoneAVPFEnabled }
enum | _LinphoneMediaEncryption { LinphoneMediaEncryptionNone, LinphoneMediaEncryptionSRTP, LinphoneMediaEncryptionZRTP, LinphoneMediaEncryptionDTLS }

## Functions
void | linphone_call_params_enable_audio_multicast (LinphoneCallParams *param, bool_t yesno)
bool_t | linphone_call_params_audio_multicast_enabled (const LinphoneCallParams *param)
void | linphone_call_params_enable_video_multicast (LinphoneCallParams *params, bool_t yesno)
bool_t | linphone_call_params_video_multicast_enabled (const LinphoneCallParams *params)
int | linphone_call_params_enable_realtime_text (LinphoneCallParams *params, bool_t yesno)
bool_t | linphone_call_params_realtime_text_enabled (const LinphoneCallParams *params)
void | linphone_call_params_add_custom_sdp_attribute (LinphoneCallParams *params, const char *attribute_name, const char *attribute_value)
void | linphone_call_params_add_custom_sdp_media_attribute (LinphoneCallParams *params, LinphoneStreamType type, const char *attribute_name, const char *attribute_value)
const char * | linphone_call_params_get_custom_sdp_attribute (const LinphoneCallParams *params, const char *attribute_name)
const char * | linphone_call_params_get_custom_sdp_media_attribute (const LinphoneCallParams *params, LinphoneStreamType type, const char *attribute_name)
void | linphone_call_params_clear_custom_sdp_attributes (LinphoneCallParams *params)
void | linphone_call_params_clear_custom_sdp_media_attributes (LinphoneCallParams *params, LinphoneStreamType type)
int | linphone_core_set_audio_codecs (LinphoneCore *lc, MSList *codecs)
int | linphone_core_set_video_codecs (LinphoneCore *lc, MSList *codecs)
int | linphone_core_get_audio_jittcomp (LinphoneCore *lc)
int | linphone_core_get_video_jittcomp (LinphoneCore *lc)
int | linphone_core_get_nortp_timeout (const LinphoneCore *lc)
void | linphone_core_set_audio_port_range (LinphoneCore *lc, int min_port, int max_port)
void | linphone_core_set_video_port_range (LinphoneCore *lc, int min_port, int max_port)
void | linphone_core_set_text_port_range (LinphoneCore *lc, int min_port, int max_port)
void | linphone_core_set_nortp_timeout (LinphoneCore *lc, int nortp_timeout)
bool_t | linphone_core_get_use_info_for_dtmf (LinphoneCore *lc)
void | linphone_core_set_use_info_for_dtmf (LinphoneCore *lc, bool_t use_info)
bool_t | linphone_core_get_use_rfc2833_for_dtmf (LinphoneCore *lc)
void | linphone_core_set_use_rfc2833_for_dtmf (LinphoneCore *lc, bool_t use_rfc2833)
int | linphone_core_get_play_level (LinphoneCore *lc)
int | linphone_core_get_ring_level (LinphoneCore *lc)
int | linphone_core_get_rec_level (LinphoneCore *lc)
void | linphone_core_set_ring_level (LinphoneCore *lc, int level)
void | linphone_core_set_mic_gain_db (LinphoneCore *lc, float gaindb)
float | linphone_core_get_mic_gain_db (LinphoneCore *lc)
void | linphone_core_set_playback_gain_db (LinphoneCore *lc, float gaindb)
float | linphone_core_get_playback_gain_db (LinphoneCore *lc)
void | linphone_core_set_play_level (LinphoneCore *lc, int level)
void | linphone_core_set_rec_level (LinphoneCore *lc, int level)
bool_t | linphone_core_sound_device_can_capture (LinphoneCore *lc, const char *devid)
bool_t | linphone_core_sound_device_can_playback (LinphoneCore *lc, const char *devid)
int | linphone_core_set_ringer_device (LinphoneCore *lc, const char *devid)
int | linphone_core_set_playback_device (LinphoneCore *lc, const char *devid)
int | linphone_core_set_capture_device (LinphoneCore *lc, const char *devid)
const char * | linphone_core_get_ringer_device (LinphoneCore *lc)
const char * | linphone_core_get_playback_device (LinphoneCore *lc)
const char * | linphone_core_get_capture_device (LinphoneCore *lc)
const char ** | linphone_core_get_sound_devices (LinphoneCore *lc)
const char ** | linphone_core_get_video_devices (const LinphoneCore *lc)
void | linphone_core_set_ring (LinphoneCore *lc, const char *path)
const char * | linphone_core_get_ring (const LinphoneCore *lc)
void | linphone_core_set_ringback (LinphoneCore *lc, const char *path)
const char * | linphone_core_get_ringback (const LinphoneCore *lc)
void | linphone_core_enable_echo_cancellation (LinphoneCore *lc, bool_t val)
bool_t | linphone_core_echo_cancellation_enabled (LinphoneCore *lc)
void | linphone_core_set_video_policy (LinphoneCore *lc, const LinphoneVideoPolicy *policy)
const LinphoneVideoPolicy * | linphone_core_get_video_policy (LinphoneCore *lc)
void | linphone_core_enable_video_preview (LinphoneCore *lc, bool_t val)
bool_t | linphone_core_video_preview_enabled (const LinphoneCore *lc)
void | linphone_core_enable_self_view (LinphoneCore *lc, bool_t val)
bool_t | linphone_core_self_view_enabled (const LinphoneCore *lc)
int | linphone_core_set_video_device (LinphoneCore *lc, const char *id)
const char * | linphone_core_get_video_device (const LinphoneCore *lc)
void * | linphone_core_get_native_video_window_id (const LinphoneCore *lc)
void * | linphone_core_get_native_preview_window_id (const LinphoneCore *lc)
void | linphone_core_set_native_preview_window_id (LinphoneCore *lc, void *id)
int | linphone_core_get_device_rotation (LinphoneCore *lc)
void | linphone_core_set_device_rotation (LinphoneCore *lc, int rotation)
void | linphone_core_play_dtmf (LinphoneCore *lc, char dtmf, int duration_ms)
void | linphone_core_stop_dtmf (LinphoneCore *lc)
void | linphone_core_set_mtu (LinphoneCore *lc, int mtu)
void | linphone_core_stop_ringing (LinphoneCore *lc)
void | linphone_core_set_avpf_mode (LinphoneCore *lc, LinphoneAVPFMode mode)
LinphoneAVPFMode | linphone_core_get_avpf_mode (const LinphoneCore *lc)
int | linphone_core_get_avpf_rr_interval (const LinphoneCore *lc)
void | linphone_core_set_avpf_rr_interval (LinphoneCore *lc, int interval)
int | linphone_payload_type_get_type (const LinphonePayloadType *pt)
int | linphone_payload_type_get_normal_bitrate (const LinphonePayloadType *pt)
const char * | linphone_payload_type_get_mime_type (const LinphonePayloadType *pt)
int | linphone_payload_type_get_channels (const LinphonePayloadType *pt)
const char * | linphone_media_encryption_to_string (LinphoneMediaEncryption menc)
void * | linphone_call_get_native_video_window_id (const LinphoneCall *call)
void | linphone_call_set_native_video_window_id (LinphoneCall *call, void *id)
void | linphone_call_enable_echo_cancellation (LinphoneCall *call, bool_t val)
bool_t | linphone_call_echo_cancellation_enabled (LinphoneCall *lc)
void | linphone_call_enable_echo_limiter (LinphoneCall *call, bool_t val)
bool_t | linphone_call_echo_limiter_enabled (const LinphoneCall *call)
LinphoneCallParams * | linphone_core_create_default_call_parameters (LinphoneCore *lc)
void | linphone_core_send_dtmf (LinphoneCore *lc, char dtmf)
void | linphone_core_set_download_bandwidth (LinphoneCore *lc, int bw)
void | linphone_core_set_upload_bandwidth (LinphoneCore *lc, int bw)
int | linphone_core_get_download_bandwidth (const LinphoneCore *lc)
int | linphone_core_get_upload_bandwidth (const LinphoneCore *lc)
void | linphone_core_enable_adaptive_rate_control (LinphoneCore *lc, bool_t enabled)
bool_t | linphone_core_adaptive_rate_control_enabled (const LinphoneCore *lc)
void | linphone_core_set_adaptive_rate_algorithm (LinphoneCore *lc, const char *algorithm)
const char * | linphone_core_get_adaptive_rate_algorithm (const LinphoneCore *lc)
void | linphone_core_set_download_ptime (LinphoneCore *lc, int ptime)
int | linphone_core_get_download_ptime (LinphoneCore *lc)
void | linphone_core_set_upload_ptime (LinphoneCore *lc, int ptime)
int | linphone_core_get_upload_ptime (LinphoneCore *lc)
void | linphone_core_set_sip_transport_timeout (LinphoneCore *lc, int timeout_ms)
int | linphone_core_get_sip_transport_timeout (LinphoneCore *lc)
void | linphone_core_enable_dns_srv (LinphoneCore *lc, bool_t enable)
bool_t | linphone_core_dns_srv_enabled (const LinphoneCore *lc)
const MSList * | linphone_core_get_audio_codecs (const LinphoneCore *lc)
const MSList * | linphone_core_get_video_codecs (const LinphoneCore *lc)
const MSList * | linphone_core_get_text_codecs (const LinphoneCore *lc)
bool_t | linphone_core_payload_type_enabled (LinphoneCore *lc, const LinphonePayloadType *pt)
bool_t | linphone_core_payload_type_is_vbr (LinphoneCore *lc, const LinphonePayloadType *pt)
void | linphone_core_set_payload_type_bitrate (LinphoneCore *lc, LinphonePayloadType *pt, int bitrate)
int | linphone_core_get_payload_type_bitrate (LinphoneCore *lc, const LinphonePayloadType *pt)
int | linphone_core_enable_payload_type (LinphoneCore *lc, LinphonePayloadType *pt, bool_t enable)
LinphonePayloadType * | linphone_core_find_payload_type (LinphoneCore *lc, const char *type, int rate, int channels)
int | linphone_core_get_payload_type_number (LinphoneCore *lc, const PayloadType *pt)
void | linphone_core_set_payload_type_number (LinphoneCore *lc, PayloadType *pt, int number)
void | linphone_core_enable_audio_adaptive_jittcomp (LinphoneCore *lc, bool_t enable)
bool_t | linphone_core_audio_adaptive_jittcomp_enabled (LinphoneCore *lc)
void | linphone_core_set_audio_jittcomp (LinphoneCore *lc, int milliseconds)
void | linphone_core_enable_video_adaptive_jittcomp (LinphoneCore *lc, bool_t enable)
bool_t | linphone_core_video_adaptive_jittcomp_enabled (LinphoneCore *lc)
void | linphone_core_set_video_jittcomp (LinphoneCore *lc, int milliseconds)
void | linphone_core_reload_sound_devices (LinphoneCore *lc)
void | linphone_core_set_remote_ringback_tone (LinphoneCore *lc, const char *ring)
const char * | linphone_core_get_remote_ringback_tone (const LinphoneCore *lc)
void | linphone_core_set_ring_during_incoming_early_media (LinphoneCore *lc, bool_t enable)
void | linphone_core_enable_echo_limiter (LinphoneCore *lc, bool_t val)
bool_t | linphone_core_echo_limiter_enabled (const LinphoneCore *lc)
void | linphone_core_enable_mic (LinphoneCore *lc, bool_t enable)
bool_t | linphone_core_mic_enabled (LinphoneCore *lc)
void | linphone_core_enable_video (LinphoneCore *lc, bool_t vcap_enabled, bool_t display_enabled)
bool_t | linphone_core_video_enabled (LinphoneCore *lc)
void | linphone_core_enable_video_capture (LinphoneCore *lc, bool_t enable)
void | linphone_core_enable_video_display (LinphoneCore *lc, bool_t enable)
void | linphone_core_enable_video_source_reuse (LinphoneCore *lc, bool_t enable)
bool_t | linphone_core_video_capture_enabled (LinphoneCore *lc)
bool_t | linphone_core_video_display_enabled (LinphoneCore *lc)
const MSVideoSizeDef * | linphone_core_get_supported_video_sizes (LinphoneCore *lc)
void | linphone_core_set_preferred_video_size (LinphoneCore *lc, MSVideoSize vsize)
void | linphone_core_set_preview_video_size (LinphoneCore *lc, MSVideoSize vsize)
void | linphone_core_set_preview_video_size_by_name (LinphoneCore *lc, const char *name)
MSVideoSize | linphone_core_get_preview_video_size (const LinphoneCore *lc)
MSVideoSize | linphone_core_get_current_preview_video_size (const LinphoneCore *lc)
MSVideoSize | linphone_core_get_preferred_video_size (const LinphoneCore *lc)
void | linphone_core_set_preferred_video_size_by_name (LinphoneCore *lc, const char *name)
void | linphone_core_set_preferred_framerate (LinphoneCore *lc, float fps)
float | linphone_core_get_preferred_framerate (LinphoneCore *lc)
void | linphone_core_reload_video_devices (LinphoneCore *lc)
int | linphone_core_set_static_picture (LinphoneCore *lc, const char *path)
const char * | linphone_core_get_static_picture (LinphoneCore *lc)
int | linphone_core_set_static_picture_fps (LinphoneCore *lc, float fps)
float | linphone_core_get_static_picture_fps (LinphoneCore *lc)
void | linphone_core_set_native_video_window_id (LinphoneCore *lc, void *id)
void | linphone_core_use_preview_window (LinphoneCore *lc, bool_t yesno)
void | linphone_core_set_use_files (LinphoneCore *lc, bool_t yesno)
const char * | linphone_core_get_play_file (const LinphoneCore *lc)
void | linphone_core_set_play_file (LinphoneCore *lc, const char *file)
const char * | linphone_core_get_record_file (const LinphoneCore *lc)
void | linphone_core_set_record_file (LinphoneCore *lc, const char *file)
int | linphone_core_set_media_encryption (LinphoneCore *lc, LinphoneMediaEncryption menc)
LinphoneMediaEncryption | linphone_core_get_media_encryption (LinphoneCore *lc)
bool_t | linphone_core_is_media_encryption_mandatory (LinphoneCore *lc)
void | linphone_core_set_media_encryption_mandatory (LinphoneCore *lc, bool_t m)
const char ** | linphone_core_get_supported_file_formats (LinphoneCore *core)
int | linphone_core_set_audio_multicast_addr (LinphoneCore *core, const char *ip)
int | linphone_core_set_video_multicast_addr (LinphoneCore *lc, const char *ip)
const char * | linphone_core_get_audio_multicast_addr (const LinphoneCore *core)
const char * | linphone_core_get_video_multicast_addr (const LinphoneCore *core)
int | linphone_core_set_audio_multicast_ttl (LinphoneCore *core, int ttl)
int | linphone_core_set_video_multicast_ttl (LinphoneCore *lc, int ttl)
int | linphone_core_get_audio_multicast_ttl (const LinphoneCore *core)
int | linphone_core_get_video_multicast_ttl (const LinphoneCore *core)
void | linphone_core_enable_audio_multicast (LinphoneCore *core, bool_t yesno)
bool_t | linphone_core_audio_multicast_enabled (const LinphoneCore *core)
void | linphone_core_enable_video_multicast (LinphoneCore *core, bool_t yesno)
bool_t | linphone_core_video_multicast_enabled (const LinphoneCore *core)
void | linphone_core_set_video_display_filter (LinphoneCore *lc, const char *filter_name)
const char * | linphone_core_get_video_display_filter (LinphoneCore *lc)

## Detailed Description

Multicast
Call using rtp multicast addresses are supported for both audio and video with some limitations. Limitations are, no stun, no ice, no encryption.
Incoming call with multicast address are automatically accepted. The called party switches in a media receive only mode.
Outgoing call willing to send media to a multicast address can activate multicast using linphone_core_enable_video_multicast or linphone_core_enable_audio_multicast . The calling party switches in a media listen send only mode.

## Macro Definition Documentation

#define LINPHONE_FIND_PAYLOAD_IGNORE_RATE -1

Wildcard value used by linphone_core_find_payload_type to ignore rate in search algorithm

#define LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS -1

Wildcard value used by linphone_core_find_payload_type to ignore channel in search algorithm

#define LINPHONE_VIDEO_DISPLAY_AUTO (void*)((unsigned long) 0)

For MacOS, Linux, Windows: core will create its own window

#define LINPHONE_VIDEO_DISPLAY_NONE (void*)((unsigned long) -1)

For MacOS, Linux, Windows: do nothing

## Typedef Documentation

typedef PayloadType LinphonePayloadType

Object representing an RTP payload type.

typedef enum _LinphoneAVPFMode LinphoneAVPFMode

Enum describing RTP AVPF activation modes.

typedef enum _LinphoneMediaEncryption LinphoneMediaEncryption

Enum describing type of media encryption types.

typedef struct _LinphoneVideoPolicy LinphoneVideoPolicy

Structure describing policy regarding video streams establishments.

## Enumeration Type Documentation

enum _LinphoneAVPFMode

Enum describing RTP AVPF activation modes.

Enumerator
LinphoneAVPFDefault | Use default value defined at upper level
LinphoneAVPFDisabled | AVPF is disabled
LinphoneAVPFEnabled | AVPF is enabled

enum _LinphoneMediaEncryption

Enum describing type of media encryption types.

Enumerator
LinphoneMediaEncryptionNone | No media encryption is used
LinphoneMediaEncryptionSRTP | Use SRTP media encryption
LinphoneMediaEncryptionZRTP | Use ZRTP media encryption
LinphoneMediaEncryptionDTLS | Use DTLS media encryption

## Function Documentation

void linphone_call_params_enable_audio_multicast | ( | LinphoneCallParams * | param,
|  | bool_t | yesno
| ) |  |

Use to enable multicast rtp for audio stream.

- If enabled, outgoing calls put a multicast address from linphone_core_get_video_multicast_addr into audio cline. In case of outgoing call audio stream is sent to this multicast address.
  For incoming calls behavior is unchanged.
  Parameters

    core | LinphoneCallParams
    yesno | if yes, subsequent calls will propose multicast ip set by linphone_core_set_audio_multicast_addr

bool_t linphone_call_params_audio_multicast_enabled | ( | const LinphoneCallParams * | param | ) |

Use to get multicast state of audio stream.

Parameters

  core | LinphoneCallParams

Returns
  true if subsequent calls will propose multicast ip set by linphone_core_set_audio_multicast_addr

void linphone_call_params_enable_video_multicast | ( | LinphoneCallParams * | params,
|  | bool_t | yesno
| ) |  |

Use to enable multicast rtp for video stream. If enabled, outgoing calls put a multicast address from linphone_core_get_video_multicast_addr into video cline. In case of outgoing call video stream is sent to this multicast address.
For incoming calls behavior is unchanged.

Parameters

  core | LinphoneCallParams
  yesno | if yes, subsequent outgoing calls will propose multicast ip set by linphone_core_set_video_multicast_addr

bool_t linphone_call_params_video_multicast_enabled | ( | const LinphoneCallParams * | params | ) |

Use to get multicast state of video stream.

Parameters

  params | LinphoneCallParams

Returns
  true if subsequent calls will propose multicast ip set by linphone_core_set_video_multicast_addr

int linphone_call_params_enable_realtime_text | ( | LinphoneCallParams * | params,
|  | bool_t | yesno
| ) |  |

Use to enable real time text following rfc4103. If enabled, outgoing calls put a m=text line in SDP offer .

Parameters

  params | LinphoneCallParams
  yesno | if yes, subsequent outgoing calls will propose rtt

bool_t linphone_call_params_realtime_text_enabled | ( | const LinphoneCallParams * | params | ) |

Use to get real time text following rfc4103.

Parameters

  params | LinphoneCallParams

Returns
  returns true if call rtt is activated.

void linphone_call_params_add_custom_sdp_attribute | ( | LinphoneCallParams * | params,
|  | const char * | attribute_name,
|  | const char * | attribute_value
| ) |  |

Add a custom attribute related to all the streams in the SDP exchanged within SIP messages during a call.

Parameters

  [in] | params | The LinphoneCallParams to add a custom SDP attribute to.
  [in] | attribute_name | The name of the attribute to add.
  [in] | attribute_value | The content value of the attribute to add.

void linphone_call_params_add_custom_sdp_media_attribute | ( | LinphoneCallParams * | params,
|  | LinphoneStreamType | type,
|  | const char * | attribute_name,
|  | const char * | attribute_value
| ) |  |

Add a custom attribute related to a specific stream in the SDP exchanged within SIP messages during a call.

Parameters

  [in] | params | The LinphoneCallParams to add a custom SDP attribute to.
  [in] | type | The type of the stream to add a custom SDP attribute to.
  [in] | attribute_name | The name of the attribute to add.
  [in] | attribute_value | The content value of the attribute to add.

const char* linphone_call_params_get_custom_sdp_attribute | ( | const LinphoneCallParams * | params,
|  | const char * | attribute_name
| ) |  |

Get a custom SDP attribute that is related to all the streams.

Parameters

  [in] | params | The LinphoneCallParams to get the custom SDP attribute from.
  [in] | attribute_name | The name of the attribute to get.

Returns
  The content value of the attribute or NULL if not found.

const char* linphone_call_params_get_custom_sdp_media_attribute | ( | const LinphoneCallParams * | params,
|  | LinphoneStreamType | type,
|  | const char * | attribute_name
| ) |  |

Get a custom SDP attribute that is related to a specific stream.

Parameters

  [in] | params | The LinphoneCallParams to get the custom SDP attribute from.
  [in] | type | The type of the stream to add a custom SDP attribute to.
  [in] | attribute_name | The name of the attribute to get.

Returns
  The content value of the attribute or NULL if not found.

void linphone_call_params_clear_custom_sdp_attributes | ( | LinphoneCallParams * | params | ) |

Clear the custom SDP attributes related to all the streams in the SDP exchanged within SIP messages during a call.

Parameters

  [in] | params | The LinphoneCallParams to clear the custom SDP attributes from.

void linphone_call_params_clear_custom_sdp_media_attributes | ( | LinphoneCallParams * | params,
|  | LinphoneStreamType | type
| ) |  |

Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call.

Parameters

  [in] | params | The LinphoneCallParams to clear the custom SDP attributes from.
  [in] | type | The type of the stream to clear the custom SDP attributes from.

int linphone_core_set_audio_codecs | ( | LinphoneCore * | lc,
|  | MSList * | codecs
| ) |  |

Sets the list of audio codecs.

Parameters

  [in] | lc | The LinphoneCore object
  [in] | codecs | A list of PayloadType objects.

Returns
  0

The list is taken by the LinphoneCore thus the application should not free it. This list is made of struct PayloadType describing the codec parameters.

int linphone_core_set_video_codecs | ( | LinphoneCore * | lc,
|  | MSList * | codecs
| ) |  |

Sets the list of video codecs.

Parameters

  [in] | lc | The LinphoneCore object
  [in] | codecs | A list of PayloadType objects.

Returns
  0

The list is taken by the LinphoneCore thus the application should not free it. This list is made of struct PayloadType describing the codec parameters.

int linphone_core_get_audio_jittcomp | ( | LinphoneCore * | lc | ) |

Returns the nominal audio jitter buffer size in milliseconds.

int linphone_core_get_video_jittcomp | ( | LinphoneCore * | lc | ) |

Returns the nominal video jitter buffer size in milliseconds.

int linphone_core_get_nortp_timeout | ( | const LinphoneCore * | lc | ) |

Returns the value in seconds of the no-rtp timeout.

When no RTP or RTCP packets have been received for a while LinphoneCore will consider the call is broken (remote end crashed or disconnected from the network), and thus will terminate the call. The no-rtp timeout is the duration above which the call is considered broken.

void linphone_core_set_audio_port_range | ( | LinphoneCore * | lc,
|  | int | min_port,
|  | int | max_port
| ) |  |

Sets the UDP port range from which to randomly select the port used for audio streaming.

void linphone_core_set_video_port_range | ( | LinphoneCore * | lc,
|  | int | min_port,
|  | int | max_port
| ) |  |

Sets the UDP port range from which to randomly select the port used for video streaming.

void linphone_core_set_text_port_range | ( | LinphoneCore * | lc,
|  | int | min_port,
|  | int | max_port
| ) |  |

Sets the UDP port range from which to randomly select the port used for text streaming.

void linphone_core_set_nortp_timeout | ( | LinphoneCore * | lc,
|  | int | nortp_timeout
| ) |  |

Sets the no-rtp timeout value in seconds.

See linphone_core_get_nortp_timeout() for details.

bool_t linphone_core_get_use_info_for_dtmf | ( | LinphoneCore * | lc | ) |

Indicates whether SIP INFO is used for sending digits.

void linphone_core_set_use_info_for_dtmf | ( | LinphoneCore * | lc,
|  | bool_t | use_info
| ) |  |

Sets whether SIP INFO is to be used for sending digits.

bool_t linphone_core_get_use_rfc2833_for_dtmf | ( | LinphoneCore * | lc | ) |

Indicates whether RFC2833 is used for sending digits.

void linphone_core_set_use_rfc2833_for_dtmf | ( | LinphoneCore * | lc,
|  | bool_t | use_rfc2833
| ) |  |

Sets whether RFC2833 is to be used for sending digits.

int linphone_core_get_play_level | ( | LinphoneCore * | lc | ) |

Get playback sound level in 0-100 scale.

int linphone_core_get_ring_level | ( | LinphoneCore * | lc | ) |

Get ring sound level in 0-100 scale

int linphone_core_get_rec_level | ( | LinphoneCore * | lc | ) |

Get sound capture level in 0-100 scale

void linphone_core_set_ring_level | ( | LinphoneCore * | lc,
|  | int | level
| ) |  |

Set sound ring level in 0-100 scale

void linphone_core_set_mic_gain_db | ( | LinphoneCore * | lc,
|  | float | gaindb
| ) |  |

Allow to control microphone level: gain in db

float linphone_core_get_mic_gain_db | ( | LinphoneCore * | lc | ) |

Get microphone gain in db.

void linphone_core_set_playback_gain_db | ( | LinphoneCore * | lc,
|  | float | gaindb
| ) |  |

Allow to control play level before entering sound card: gain in db

float linphone_core_get_playback_gain_db | ( | LinphoneCore * | lc | ) |

Get playback gain in db before entering sound card.

void linphone_core_set_play_level | ( | LinphoneCore * | lc,
|  | int | level
| ) |  |

Set sound playback level in 0-100 scale

void linphone_core_set_rec_level | ( | LinphoneCore * | lc,
|  | int | level
| ) |  |

Set sound capture level in 0-100 scale

bool_t linphone_core_sound_device_can_capture | ( | LinphoneCore * | lc,
|  | const char * | devid
| ) |  |

Returns true if the specified sound device can capture sound.

Parameters

  lc | The LinphoneCore object
  devid | the device name as returned by linphone_core_get_sound_devices()

bool_t linphone_core_sound_device_can_playback | ( | LinphoneCore * | lc,
|  | const char * | devid
| ) |  |

Returns true if the specified sound device can play sound.

Parameters

  lc | The LinphoneCore object
  devid | the device name as returned by linphone_core_get_sound_devices()

int linphone_core_set_ringer_device | ( | LinphoneCore * | lc,
|  | const char * | devid
| ) |  |

Sets the sound device used for ringing.

Parameters

  lc | The LinphoneCore object
  devid | the device name as returned by linphone_core_get_sound_devices()

int linphone_core_set_playback_device | ( | LinphoneCore * | lc,
|  | const char * | devid
| ) |  |

Sets the sound device used for playback.

Parameters

  lc | The LinphoneCore object
  devid | the device name as returned by linphone_core_get_sound_devices()

int linphone_core_set_capture_device | ( | LinphoneCore * | lc,
|  | const char * | devid
| ) |  |

Sets the sound device used for capture.

Parameters

  lc | The LinphoneCore object
  devid | the device name as returned by linphone_core_get_sound_devices()

const char* linphone_core_get_ringer_device | ( | LinphoneCore * | lc | ) |

Returns the name of the currently assigned sound device for ringing.

Parameters

  lc | The LinphoneCore object

const char* linphone_core_get_playback_device | ( | LinphoneCore * | lc | ) |

Returns the name of the currently assigned sound device for playback.

Parameters

  lc | The LinphoneCore object

const char* linphone_core_get_capture_device | ( | LinphoneCore * | lc | ) |

Returns the name of the currently assigned sound device for capture.

Parameters

  lc | The LinphoneCore object

const char** linphone_core_get_sound_devices | ( | LinphoneCore * | lc | ) |

Returns an unmodifiable array of available sound devices.

The array is NULL terminated.

Parameters

  lc | The LinphoneCore object

const char** linphone_core_get_video_devices | ( | const LinphoneCore * | lc | ) |

Returns an unmodifiable array of available video capture devices.

The array is NULL terminated.

void linphone_core_set_ring | ( | LinphoneCore * | lc,
|  | const char * | path
| ) |  |

Sets the path to a wav file used for ringing.

Parameters

  path | The file must be a wav 16bit linear. Local ring is disabled if null
  lc | The LinphoneCore object

const char* linphone_core_get_ring | ( | const LinphoneCore * | lc | ) |

Returns the path to the wav file used for ringing.

Parameters

  lc | The LinphoneCore object

void linphone_core_set_ringback | ( | LinphoneCore * | lc,
|  | const char * | path
| ) |  |

Sets the path to a wav file used for ringing back.

Ringback means the ring that is heard when it's ringing at the remote party. The file must be a wav 16bit linear.

const char* linphone_core_get_ringback | ( | const LinphoneCore * | lc | ) |

Returns the path to the wav file used for ringing back.

void linphone_core_enable_echo_cancellation | ( | LinphoneCore * | lc,
|  | bool_t | val
| ) |  |

Enables or disable echo cancellation. Value is saved and used for subsequent calls. This actually controls software echo cancellation. If hardware echo cancellation is available, it will be always used and activated for calls, regardless of the value passed to this function. When hardware echo cancellation is available, the software one is of course not activated.

bool_t linphone_core_echo_cancellation_enabled | ( | LinphoneCore * | lc | ) |

Returns TRUE if echo cancellation is enabled.

void linphone_core_set_video_policy | ( | LinphoneCore * | lc,
|  | const LinphoneVideoPolicy * | policy
| ) |  |

Sets the default policy for video. This policy defines whether:

- video shall be initiated by default for outgoing calls
- video shall be accepter by default for incoming calls

const LinphoneVideoPolicy* linphone_core_get_video_policy | ( | LinphoneCore * | lc | ) |

Get the default policy for video. See linphone_core_set_video_policy() for more details.

void linphone_core_enable_video_preview | ( | LinphoneCore * | lc,
|  | bool_t | val
| ) |  |

Controls video preview enablement.

Video preview refers to the action of displaying the local webcam image to the user while not in call.

bool_t linphone_core_video_preview_enabled | ( | const LinphoneCore * | lc | ) |

Returns TRUE if video previewing is enabled.

void linphone_core_enable_self_view | ( | LinphoneCore * | lc,
|  | bool_t | val
| ) |  |

Enables or disable self view during calls.

Self-view refers to having local webcam image inserted in corner of the video window during calls. This function works at any time, including during calls.

bool_t linphone_core_self_view_enabled | ( | const LinphoneCore * | lc | ) |

Returns TRUE if self-view is enabled, FALSE otherwise.

Refer to linphone_core_enable_self_view() for details.

int linphone_core_set_video_device | ( | LinphoneCore * | lc,
|  | const char * | id
| ) |  |

Sets the active video device.

Parameters

  lc | The LinphoneCore object
  id | the name of the video device as returned by linphone_core_get_video_devices()

const char* linphone_core_get_video_device | ( | const LinphoneCore * | lc | ) |

Returns the name of the currently active video device.

Parameters

  lc | The LinphoneCore object

void* linphone_core_get_native_video_window_id | ( | const LinphoneCore * | lc | ) |

Returns the native window handle of the video window, casted as an unsigned long.

void* linphone_core_get_native_preview_window_id | ( | const LinphoneCore * | lc | ) |

Returns the native window handle of the video preview window, casted as an unsigned long.

void linphone_core_set_native_preview_window_id | ( | LinphoneCore * | lc,
|  | void * | id
| ) |  |

Set the native window id where the preview video (local camera) is to be displayed. This has to be used in conjonction with linphone_core_use_preview_window(). MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given.

int linphone_core_get_device_rotation | ( | LinphoneCore * | lc | ) |

returns current device orientation

void linphone_core_set_device_rotation | ( | LinphoneCore * | lc,
|  | int | rotation
| ) |  |

Tells the core the device current orientation. This can be used by capture filters on mobile devices to select between portrait/landscape mode and to produce properly oriented images. The exact meaning of the value in rotation if left to each device specific implementations.

Parameters

  lc | object.
  rotation | . IOS supported values are 0 for UIInterfaceOrientationPortrait and 270 for UIInterfaceOrientationLandscapeRight.

void linphone_core_play_dtmf | ( | LinphoneCore * | lc,
|  | char | dtmf,
|  | int | duration_ms
| ) |  |

Plays a dtmf sound to the local user.

Parameters

  lc | LinphoneCore
  dtmf | DTMF to play ['0'..'16'] | '#' | '#'
  duration_ms | duration in ms, -1 means play until next further call to linphone_core_stop_dtmf()

void linphone_core_stop_dtmf | ( | LinphoneCore * | lc | ) |

Stops playing a dtmf started by linphone_core_play_dtmf().

void linphone_core_set_mtu | ( | LinphoneCore * | lc,
|  | int | mtu
| ) |  |

Sets the maximum transmission unit size in bytes. This information is useful for sending RTP packets. Default value is 1500.

void linphone_core_stop_ringing | ( | LinphoneCore * | lc | ) |

Whenever the liblinphone is playing a ring to advertise an incoming call or ringback of an outgoing call, this function stops the ringing. Typical use is to stop ringing when the user requests to ignore the call.

Parameters

  lc | The LinphoneCore object

void linphone_core_set_avpf_mode | ( | LinphoneCore * | lc,
|  | LinphoneAVPFMode | mode
| ) |  |

Enable RTCP feedback (also known as RTP/AVPF profile). Setting LinphoneAVPFDefault is equivalent to LinphoneAVPFDisabled. This setting can be overriden per LinphoneProxyConfig with linphone_proxy_config_set_avpf_mode(). The value set here is used for calls placed or received out of any proxy configured, or if the proxy config is configured with LinphoneAVPFDefault.

Parameters

  lc | the LinphoneCore
  mode | the mode.

LinphoneAVPFMode linphone_core_get_avpf_mode | ( | const LinphoneCore * | lc | ) |

Return AVPF enablement. See linphone_core_set_avpf_mode() .

Parameters

  lc | the core

Returns
  the avpf enablement mode.

int linphone_core_get_avpf_rr_interval | ( | const LinphoneCore * | lc | ) |

Return the avpf report interval in seconds.

Parameters

  lc | the LinphoneCore

Returns
  the avpf report interval in seconds.

void linphone_core_set_avpf_rr_interval | ( | LinphoneCore * | lc,
|  | int | interval
| ) |  |

Set the avpf report interval in seconds. This value can be overriden by the proxy config using linphone_proxy_config_set_avpf_rr_interval().

Parameters

  lc | the core
  interval | interval in seconds.

int linphone_payload_type_get_type | ( | const LinphonePayloadType * | pt | ) |

Get the type of payload.

Parameters

  [in] | pt | LinphonePayloadType object

Returns
  The type of payload.

int linphone_payload_type_get_normal_bitrate | ( | const LinphonePayloadType * | pt | ) |

Get the normal bitrate in bits/s.

Parameters

  [in] | pt | LinphonePayloadType object

Returns
  The normal bitrate in bits/s.

const char* linphone_payload_type_get_mime_type | ( | const LinphonePayloadType * | pt | ) |

Get the mime type.

Parameters

  [in] | pt | LinphonePayloadType object

Returns
  The mime type.

int linphone_payload_type_get_channels | ( | const LinphonePayloadType * | pt | ) |

Get the number of channels.

Parameters

  [in] | pt | LinphonePayloadType object

Returns
  The number of channels.

const char* linphone_media_encryption_to_string | ( | LinphoneMediaEncryption | menc | ) |

Convert enum member to string.

void* linphone_call_get_native_video_window_id | ( | const LinphoneCall * | call | ) |

Get the native window handle of the video window, casted as an unsigned long.

void linphone_call_set_native_video_window_id | ( | LinphoneCall * | call,
|  | void * | id
| ) |  |

Set the native video window id where the video is to be displayed. For MacOS, Linux, Windows: if not set or 0 a window will be automatically created, unless the special id -1 is given.

void linphone_call_enable_echo_cancellation | ( | LinphoneCall * | call,
|  | bool_t | val
| ) |  |

Enables or disable echo cancellation for this call

Parameters

  call |
  val |

bool_t linphone_call_echo_cancellation_enabled | ( | LinphoneCall * | lc | ) |

Returns TRUE if echo cancellation is enabled.

void linphone_call_enable_echo_limiter | ( | LinphoneCall * | call,
|  | bool_t | val
| ) |  |

Enables or disable echo limiter for this call

Parameters

  call |
  val |

bool_t linphone_call_echo_limiter_enabled | ( | const LinphoneCall * | call | ) |

Returns TRUE if echo limiter is enabled.

LinphoneCallParams* linphone_core_create_default_call_parameters | ( | LinphoneCore * | lc | ) |

Get default call parameters reflecting current linphone core configuration

Parameters

  lc | LinphoneCore object

Returns
  LinphoneCallParams

Deprecated:
  use linphone_core_create_call_params()

void linphone_core_send_dtmf | ( | LinphoneCore * | lc,
|  | char | dtmf
| ) |  |

Send the specified dtmf.

Deprecated:
  Use #linphone_call_send_dtmf instead. This function only works during calls. The dtmf is automatically played to the user.
  Parameters

    lc | The LinphoneCore object
    dtmf | The dtmf name specified as a char, such as '0', '#' etc...

void linphone_core_set_download_bandwidth | ( | LinphoneCore * | lc,
|  | int | bw
| ) |  |

Sets maximum available download bandwidth This is IP bandwidth, in kbit/s. This information is used signaled to other parties during calls (within SDP messages) so that the remote end can have sufficient knowledge to properly configure its audio & video codec output bitrate to not overflow available bandwidth.

Parameters

  lc | the LinphoneCore object
  bw | the bandwidth in kbits/s, 0 for infinite

void linphone_core_set_upload_bandwidth | ( | LinphoneCore * | lc,
|  | int | bw
| ) |  |

Sets maximum available upload bandwidth This is IP bandwidth, in kbit/s. This information is used by liblinphone together with remote side available bandwidth signaled in SDP messages to properly configure audio & video codec's output bitrate.

Parameters

  lc | the LinphoneCore object
  bw | the bandwidth in kbits/s, 0 for infinite

int linphone_core_get_download_bandwidth | ( | const LinphoneCore * | lc | ) |

Retrieve the maximum available download bandwidth. This value was set by linphone_core_set_download_bandwidth().

int linphone_core_get_upload_bandwidth | ( | const LinphoneCore * | lc | ) |

Retrieve the maximum available upload bandwidth. This value was set by linphone_core_set_upload_bandwidth().

void linphone_core_enable_adaptive_rate_control | ( | LinphoneCore * | lc,
|  | bool_t | enabled
| ) |  |

Enable adaptive rate control.

Adaptive rate control consists in using RTCP feedback provided information to dynamically control the output bitrate of the audio and video encoders, so that we can adapt to the network conditions and available bandwidth. Control of the audio encoder is done in case of audio-only call, and control of the video encoder is done for audio & video calls. Adaptive rate control feature is enabled by default.

bool_t linphone_core_adaptive_rate_control_enabled | ( | const LinphoneCore * | lc | ) |

Returns whether adaptive rate control is enabled.

See linphone_core_enable_adaptive_rate_control().

void linphone_core_set_adaptive_rate_algorithm | ( | LinphoneCore * | lc,
|  | const char * | algorithm
| ) |  |

Sets adaptive rate algorithm. It will be used for each new calls starting from now. Calls already started will not be updated.

const char* linphone_core_get_adaptive_rate_algorithm | ( | const LinphoneCore * | lc | ) |

Returns which adaptive rate algorithm is currently configured for future calls.

See linphone_core_set_adaptive_rate_algorithm().

void linphone_core_set_download_ptime | ( | LinphoneCore * | lc,
|  | int | ptime
| ) |  |

Set audio packetization time linphone expects to receive from peer. A value of zero means that ptime is not specified.

int linphone_core_get_download_ptime | ( | LinphoneCore * | lc | ) |

Get audio packetization time linphone expects to receive from peer. A value of zero means that ptime is not specified.

void linphone_core_set_upload_ptime | ( | LinphoneCore * | lc,
|  | int | ptime
| ) |  |

Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.

int linphone_core_get_upload_ptime | ( | LinphoneCore * | lc | ) |

Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time.

void linphone_core_set_sip_transport_timeout | ( | LinphoneCore * | lc,
|  | int | timeout_ms
| ) |  |

Set the SIP transport timeout.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | timeout_ms | The SIP transport timeout in milliseconds.

int linphone_core_get_sip_transport_timeout | ( | LinphoneCore * | lc | ) |

Get the SIP transport timeout.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  The SIP transport timeout in milliseconds.

void linphone_core_enable_dns_srv | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable DNS SRV resolution.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | enable | TRUE to enable DNS SRV resolution, FALSE to disable it.

bool_t linphone_core_dns_srv_enabled | ( | const LinphoneCore * | lc | ) |

Tells whether DNS SRV resolution is enabled.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  TRUE if DNS SRV resolution is enabled, FALSE if disabled.

const MSList* linphone_core_get_audio_codecs | ( | const LinphoneCore * | lc | ) |

Returns the list of available audio codecs.

Parameters

  [in] | lc | The LinphoneCore object

Returns
  A list of PayloadType objects.

This list is unmodifiable. The ->data field of the MSList points a PayloadType structure holding the codec information. It is possible to make copy of the list with ms_list_copy() in order to modify it (such as the order of codecs).

const MSList* linphone_core_get_video_codecs | ( | const LinphoneCore * | lc | ) |

Returns the list of available video codecs.

Parameters

  [in] | lc | The LinphoneCore object

Returns
  A list of PayloadType objects.

This list is unmodifiable. The ->data field of the MSList points a PayloadType structure holding the codec information. It is possible to make copy of the list with ms_list_copy() in order to modify it (such as the order of codecs).

const MSList* linphone_core_get_text_codecs | ( | const LinphoneCore * | lc | ) |

Returns the list of available text codecs.

Parameters

  [in] | lc | The LinphoneCore object

Returns
  A list of PayloadType objects.

This list is unmodifiable. The ->data field of the MSList points a PayloadType structure holding the codec information. It is possible to make copy of the list with ms_list_copy() in order to modify it (such as the order of codecs).

bool_t linphone_core_payload_type_enabled | ( | LinphoneCore * | lc,
|  | const LinphonePayloadType * | pt
| ) |  |

Tells whether the specified payload type is enabled.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | pt | The LinphonePayloadType we want to know is enabled or not.

Returns
  TRUE if the payload type is enabled, FALSE if disabled.

bool_t linphone_core_payload_type_is_vbr | ( | LinphoneCore * | lc,
|  | const LinphonePayloadType * | pt
| ) |  |

Tells whether the specified payload type represents a variable bitrate codec.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | pt | The LinphonePayloadType we want to know

Returns
  TRUE if the payload type represents a VBR codec, FALSE if disabled.

void linphone_core_set_payload_type_bitrate | ( | LinphoneCore * | lc,
|  | LinphonePayloadType * | pt,
|  | int | bitrate
| ) |  |

Set an explicit bitrate (IP bitrate, not codec bitrate) for a given codec, in kbit/s.

Parameters

  [in] | lc | the LinphoneCore object
  [in] | pt | the LinphonePayloadType to modify.
  [in] | bitrate | the IP bitrate in kbit/s.

int linphone_core_get_payload_type_bitrate | ( | LinphoneCore * | lc,
|  | const LinphonePayloadType * | pt
| ) |  |

Get the bitrate explicitely set with linphone_core_set_payload_type_bitrate().

Parameters

  [in] | lc | the LinphoneCore object
  [in] | pt | the LinphonePayloadType to modify.

Returns
  bitrate the IP bitrate in kbit/s, or -1 if an error occured.

int linphone_core_enable_payload_type | ( | LinphoneCore * | lc,
|  | LinphonePayloadType * | pt,
|  | bool_t | enable
| ) |  |

Enable or disable the use of the specified payload type.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | pt | The LinphonePayloadType to enable or disable. It can be retrieved using linphone_core_find_payload_type
  [in] | enable | TRUE to enable the payload type, FALSE to disable it.

Returns
  0 if successful, any other value otherwise.

LinphonePayloadType* linphone_core_find_payload_type | ( | LinphoneCore * | lc,
|  | const char * | type,
|  | int | rate,
|  | int | channels
| ) |  |

Get payload type from mime type and clock rate

This function searches in audio and video codecs for the given payload type name and clockrate.

Parameters

  lc | LinphoneCore object
  type | payload mime type (I.E SPEEX, PCMU, VP8)
  rate | can be LINPHONE_FIND_PAYLOAD_IGNORE_RATE
  channels | number of channels, can be LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS

Returns
  Returns NULL if not found.

int linphone_core_get_payload_type_number | ( | LinphoneCore * | lc,
|  | const PayloadType * | pt
| ) |  |

Returns the payload type number assigned for this codec.

void linphone_core_set_payload_type_number | ( | LinphoneCore * | lc,
|  | PayloadType * | pt,
|  | int | number
| ) |  |

Force a number for a payload type. The LinphoneCore does payload type number assignment automatically. THis function is to be used mainly for tests, in order to override the automatic assignment mechanism.

void linphone_core_enable_audio_adaptive_jittcomp | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable the audio adaptive jitter compensation.

Parameters

  [in] | lc | LinphoneCore object
  [in] | enable | TRUE to enable the audio adaptive jitter compensation, FALSE to disable it.

bool_t linphone_core_audio_adaptive_jittcomp_enabled | ( | LinphoneCore * | lc | ) |

Tells whether the audio adaptive jitter compensation is enabled.

Parameters

  [in] | lc | LinphoneCore object

Returns
  TRUE if the audio adaptive jitter compensation is enabled, FALSE otherwise.

void linphone_core_set_audio_jittcomp | ( | LinphoneCore * | lc,
|  | int | milliseconds
| ) |  |

Sets the nominal audio jitter buffer size in milliseconds. The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer.

void linphone_core_enable_video_adaptive_jittcomp | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable the video adaptive jitter compensation.

Parameters

  [in] | lc | LinphoneCore object
  [in] | enable | TRUE to enable the video adaptive jitter compensation, FALSE to disable it.

bool_t linphone_core_video_adaptive_jittcomp_enabled | ( | LinphoneCore * | lc | ) |

Tells whether the video adaptive jitter compensation is enabled.

Parameters

  [in] | lc | LinphoneCore object

Returns
  TRUE if the video adaptive jitter compensation is enabled, FALSE otherwise.

void linphone_core_set_video_jittcomp | ( | LinphoneCore * | lc,
|  | int | milliseconds
| ) |  |

Sets the nominal video jitter buffer size in milliseconds. The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer.

void linphone_core_reload_sound_devices | ( | LinphoneCore * | lc | ) |

Update detection of sound devices.

Use this function when the application is notified of USB plug events, so that list of available hardwares for sound playback and capture is updated.

Parameters

  [in] | lc | LinphoneCore object.

void linphone_core_set_remote_ringback_tone | ( | LinphoneCore * | lc,
|  | const char * | ring
| ) |  |

Specify a ring back tone to be played to far end during incoming calls.

Parameters

  [in] | lc | LinphoneCore object
  [in] | ring | The path to the ring back tone to be played.

const char* linphone_core_get_remote_ringback_tone | ( | const LinphoneCore * | lc | ) |

Get the ring back tone played to far end during incoming calls.

Parameters

  [in] | lc | LinphoneCore object

void linphone_core_set_ring_during_incoming_early_media | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable the ring play during an incoming early media call.

Parameters

  [in] | lc | LinphoneCore object
  [in] | enable | A boolean value telling whether to enable ringing during an incoming early media call.

void linphone_core_enable_echo_limiter | ( | LinphoneCore * | lc,
|  | bool_t | val
| ) |  |

Enables or disable echo limiter.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | val | TRUE to enable echo limiter, FALSE to disable it.

bool_t linphone_core_echo_limiter_enabled | ( | const LinphoneCore * | lc | ) |

Tells whether echo limiter is enabled.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  TRUE if the echo limiter is enabled, FALSE otherwise.

void linphone_core_enable_mic | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable the microphone.

Parameters

  [in] | lc | LinphoneCore object
  [in] | enable | TRUE to enable the microphone, FALSE to disable it.

bool_t linphone_core_mic_enabled | ( | LinphoneCore * | lc | ) |

Tells whether the microphone is enabled.

Parameters

  [in] | lc | LinphoneCore object

Returns
  TRUE if the microphone is enabled, FALSE if disabled.

void linphone_core_enable_video | ( | LinphoneCore * | lc,
|  | bool_t | vcap_enabled,
|  | bool_t | display_enabled
| ) |  |

Enables video globally.

This function does not have any effect during calls. It just indicates LinphoneCore to initiate future calls with video or not. The two boolean parameters indicate in which direction video is enabled. Setting both to false disables video entirely.

Parameters

  lc | The LinphoneCore object
  vcap_enabled | indicates whether video capture is enabled
  display_enabled | indicates whether video display should be shown

Deprecated:
  Use linphone_core_enable_video_capture and linphone_core_enable_video_display instead.

bool_t linphone_core_video_enabled | ( | LinphoneCore * | lc | ) |

Returns TRUE if video is enabled, FALSE otherwise.

Deprecated:
  Use linphone_core_video_capture_enabled and linphone_core_video_display_enabled instead.

void linphone_core_enable_video_capture | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable video capture.

This function does not have any effect during calls. It just indicates the LinphoneCore to initiate future calls with video capture or not.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | enable | TRUE to enable video capture, FALSE to disable it.

void linphone_core_enable_video_display | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable video display.

This function does not have any effect during calls. It just indicates the LinphoneCore to initiate future calls with video display or not.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | enable | TRUE to enable video display, FALSE to disable it.

void linphone_core_enable_video_source_reuse | ( | LinphoneCore * | lc,
|  | bool_t | enable
| ) |  |

Enable or disable video source reuse when switching from preview to actual video call.

This source reuse is useful when you always display the preview, even before calls are initiated. By keeping the video source for the transition to a real video call, you will smooth out the source close/reopen cycle.

This function does not have any effect durfing calls. It just indicates the LinphoneCore to initiate future calls with video source reuse or not. Also, at the end of a video call, the source will be closed whatsoever for now.

Parameters

  [in] | lc | LinphoneCore object
  [in] | enable | TRUE to enable video source reuse. FALSE to disable it for subsequent calls.

bool_t linphone_core_video_capture_enabled | ( | LinphoneCore * | lc | ) |

Tells whether video capture is enabled.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  TRUE if video capture is enabled, FALSE if disabled.

bool_t linphone_core_video_display_enabled | ( | LinphoneCore * | lc | ) |

Tells whether video display is enabled.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  TRUE if video display is enabled, FALSE if disabled.

const MSVideoSizeDef* linphone_core_get_supported_video_sizes | ( | LinphoneCore * | lc | ) |

Returns the zero terminated table of supported video resolutions.

void linphone_core_set_preferred_video_size | ( | LinphoneCore * | lc,
|  | MSVideoSize | vsize
| ) |  |

Sets the preferred video size.

This applies only to the stream that is captured and sent to the remote party, since we accept all standard video size on the receive path.

void linphone_core_set_preview_video_size | ( | LinphoneCore * | lc,
|  | MSVideoSize | vsize
| ) |  |

Sets the video size for the captured (preview) video. This method is for advanced usage where a video capture must be set independently of the size of the stream actually sent through the call. This allows for example to have the preview window with HD resolution even if due to bandwidth constraint the sent video size is small. Using this feature increases the CPU consumption, since a rescaling will be done internally.

Parameters

  lc | the linphone core
  vsize | the video resolution choosed for capuring and previewing. It can be (0,0) to not request any specific preview size and let the core optimize the processing.

void linphone_core_set_preview_video_size_by_name | ( | LinphoneCore * | lc,
|  | const char * | name
| ) |  |

Sets the preview video size by its name. See linphone_core_set_preview_video_size() for more information about this feature.

Video resolution names are: qcif, svga, cif, vga, 4cif, svga ...

MSVideoSize linphone_core_get_preview_video_size | ( | const LinphoneCore * | lc | ) |

Returns video size for the captured video if it was previously set by linphone_core_set_preview_video_size(), otherwise returns a 0,0 size.

See also
  linphone_core_set_preview_video_size()

Parameters

  lc | the core

Returns
  a MSVideoSize

MSVideoSize linphone_core_get_current_preview_video_size | ( | const LinphoneCore * | lc | ) |

Returns the effective video size for the captured video as provided by the camera. When preview is disabled or not yet started, this function returns a zeroed video size.

See also
  linphone_core_set_preview_video_size()

Parameters

  lc | the core

Returns
  a MSVideoSize

MSVideoSize linphone_core_get_preferred_video_size | ( | const LinphoneCore * | lc | ) |

Returns the current preferred video size for sending.

void linphone_core_set_preferred_video_size_by_name | ( | LinphoneCore * | lc,
|  | const char * | name
| ) |  |

Sets the preferred video size by its name.

This is identical to linphone_core_set_preferred_video_size() except that it takes the name of the video resolution as input. Video resolution names are: qcif, svga, cif, vga, 4cif, svga ...

void linphone_core_set_preferred_framerate | ( | LinphoneCore * | lc,
|  | float | fps
| ) |  |

Set the preferred frame rate for video. Based on the available bandwidth constraints and network conditions, the video encoder remains free to lower the framerate. There is no warranty that the preferred frame rate be the actual framerate. used during a call. Default value is 0, which means "use encoder's default fps value".

Parameters

  lc | the LinphoneCore
  fps | the target frame rate in number of frames per seconds.

float linphone_core_get_preferred_framerate | ( | LinphoneCore * | lc | ) |

Returns the preferred video framerate, previously set by linphone_core_set_preferred_framerate().

Parameters

  lc | the linphone core

Returns
  frame rate in number of frames per seconds.

void linphone_core_reload_video_devices | ( | LinphoneCore * | lc | ) |

Update detection of camera devices.

Use this function when the application is notified of USB plug events, so that list of available hardwares for video capture is updated.

Parameters

  [in] | lc | LinphoneCore object.

int linphone_core_set_static_picture | ( | LinphoneCore * | lc,
|  | const char * | path
| ) |  |

Set the path to the image file to stream when "Static picture" is set as the video device.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | path | The path to the image file to use.

const char* linphone_core_get_static_picture | ( | LinphoneCore * | lc | ) |

Get the path to the image file streamed when "Static picture" is set as the video device.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  The path to the image file streamed when "Static picture" is set as the video device.

int linphone_core_set_static_picture_fps | ( | LinphoneCore * | lc,
|  | float | fps
| ) |  |

Set the frame rate for static picture.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | fps | The new frame rate to use for static picture.

float linphone_core_get_static_picture_fps | ( | LinphoneCore * | lc | ) |

Get the frame rate for static picture

Parameters

  [in] | lc | LinphoneCore object.

Returns
  The frame rate used for static picture.

void linphone_core_set_native_video_window_id | ( | LinphoneCore * | lc,
|  | void * | id
| ) |  |

Set the native video window id where the video is to be displayed. For MacOS, Linux, Windows: if not set or LINPHONE_VIDEO_DISPLAY_AUTO the core will create its own window, unless the special id LINPHONE_VIDEO_DISPLAY_NONE is given.

void linphone_core_use_preview_window | ( | LinphoneCore * | lc,
|  | bool_t | yesno
| ) |  |

Tells the core to use a separate window for local camera preview video, instead of inserting local view within the remote video window.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | yesno | TRUE to use a separate window, FALSE to insert the preview in the remote video window.

void linphone_core_set_use_files | ( | LinphoneCore * | lc,
|  | bool_t | yesno
| ) |  |

Ask the core to stream audio from and to files, instead of using the soundcard.

Parameters

  [in] | lc | LinphoneCore object
  [in] | yesno | A boolean value asking to stream audio from and to files or not.

const char* linphone_core_get_play_file | ( | const LinphoneCore * | lc | ) |

Get the wav file that is played when putting somebody on hold, or when files are used instead of soundcards (see linphone_core_set_use_files()).

The file is a 16 bit linear wav file.

Parameters

  [in] | lc | LinphoneCore object

Returns
  The path to the file that is played when putting somebody on hold.

void linphone_core_set_play_file | ( | LinphoneCore * | lc,
|  | const char * | file
| ) |  |

Sets a wav file to be played when putting somebody on hold, or when files are used instead of soundcards (see linphone_core_set_use_files()).

The file must be a 16 bit linear wav file.

Parameters

  [in] | lc | LinphoneCore object
  [in] | file | The path to the file to be played when putting somebody on hold.

const char* linphone_core_get_record_file | ( | const LinphoneCore * | lc | ) |

Get the wav file where incoming stream is recorded, when files are used instead of soundcards (see linphone_core_set_use_files()).

This feature is different from call recording (linphone_call_params_set_record_file()) The file is a 16 bit linear wav file.

Parameters

  [in] | lc | LinphoneCore object

Returns
  The path to the file where incoming stream is recorded.

void linphone_core_set_record_file | ( | LinphoneCore * | lc,
|  | const char * | file
| ) |  |

Sets a wav file where incoming stream is to be recorded, when files are used instead of soundcards (see linphone_core_set_use_files()).

This feature is different from call recording (linphone_call_params_set_record_file()) The file will be a 16 bit linear wav file.

Parameters

  [in] | lc | LinphoneCore object
  [in] | file | The path to the file where incoming stream is to be recorded.

int linphone_core_set_media_encryption | ( | LinphoneCore * | lc,
|  | LinphoneMediaEncryption | menc
| ) |  |

Choose the media encryption policy to be used for RTP packets.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | menc | The media encryption policy to be used.

Returns
  0 if successful, any other value otherwise.

LinphoneMediaEncryption linphone_core_get_media_encryption | ( | LinphoneCore * | lc | ) |

Get the media encryption policy being used for RTP packets.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  The media encryption policy being used.

bool_t linphone_core_is_media_encryption_mandatory | ( | LinphoneCore * | lc | ) |

Get behaviour when encryption parameters negociation fails on outgoing call.

Parameters

  [in] | lc | LinphoneCore object.

Returns
  TRUE means the call will fail; FALSE means an INVITE will be resent with encryption disabled.

void linphone_core_set_media_encryption_mandatory | ( | LinphoneCore * | lc,
|  | bool_t | m
| ) |  |

Define behaviour when encryption parameters negociation fails on outgoing call.

Parameters

  [in] | lc | LinphoneCore object.
  [in] | m | If set to TRUE call will fail; if set to FALSE will resend an INVITE with encryption disabled.

const char** linphone_core_get_supported_file_formats | ( | LinphoneCore * | core | ) |

Returns a null terminated table of strings containing the file format extension supported for call recording.

Parameters

  core | the core

Returns
  the supported formats, typically 'wav' and 'mkv'

int linphone_core_set_audio_multicast_addr | ( | LinphoneCore * | core,
|  | const char * | ip
| ) |  |

Use to set multicast address to be used for audio stream.

Parameters

  core | LinphoneCore
  ip | an ipv4/6 multicast address

Returns
  0 in case of success

int linphone_core_set_video_multicast_addr | ( | LinphoneCore * | lc,
|  | const char * | ip
| ) |  |

Use to set multicast address to be used for video stream.

Parameters

  core | LinphoneCore
  ip | an ipv4/6 multicast address

Returns
  0 in case of success

const char* linphone_core_get_audio_multicast_addr | ( | const LinphoneCore * | core | ) |

Use to get multicast address to be used for audio stream.

Parameters

  core | LinphoneCore

Returns
  an ipv4/6 multicast address or default value

const char* linphone_core_get_video_multicast_addr | ( | const LinphoneCore * | core | ) |

Use to get multicast address to be used for video stream.

Parameters

  core | LinphoneCore

Returns
  an ipv4/6 multicast address, or default value

int linphone_core_set_audio_multicast_ttl | ( | LinphoneCore * | core,
|  | int | ttl
| ) |  |

Use to set multicast ttl to be used for audio stream.

Parameters

  core | LinphoneCore
  ttl | value or -1 if not used. [0..255] default value is 1

Returns
  0 in case of success

int linphone_core_set_video_multicast_ttl | ( | LinphoneCore * | lc,
|  | int | ttl
| ) |  |

Use to set multicast ttl to be used for video stream.

Parameters

  core | LinphoneCore
  ttl | value or -1 if not used. [0..255] default value is 1

Returns
  0 in case of success

int linphone_core_get_audio_multicast_ttl | ( | const LinphoneCore * | core | ) |

Use to get multicast ttl to be used for audio stream.

Parameters

  core | LinphoneCore

Returns
  a time to leave value

int linphone_core_get_video_multicast_ttl | ( | const LinphoneCore * | core | ) |

Use to get multicast ttl to be used for video stream.

Parameters

  core | LinphoneCore

Returns
  a time to leave value

void linphone_core_enable_audio_multicast | ( | LinphoneCore * | core,
|  | bool_t | yesno
| ) |  |

Use to enable multicast rtp for audio stream.

- If enabled, outgoing calls put a multicast address from linphone_core_get_video_multicast_addr into audio cline. In case of outgoing call audio stream is sent to this multicast address.
  For incoming calls behavior is unchanged.
  Parameters

    core | LinphoneCore
    yesno | if yes, subsequent calls will propose multicast ip set by linphone_core_set_audio_multicast_addr

bool_t linphone_core_audio_multicast_enabled | ( | const LinphoneCore * | core | ) |

Use to get multicast state of audio stream.

Parameters

  core | LinphoneCore

Returns
  true if subsequent calls will propose multicast ip set by linphone_core_set_audio_multicast_addr

void linphone_core_enable_video_multicast | ( | LinphoneCore * | core,
|  | bool_t | yesno
| ) |  |

Use to enable multicast rtp for video stream. If enabled, outgoing calls put a multicast address from linphone_core_get_video_multicast_addr into video cline. In case of outgoing call video stream is sent to this multicast address.
For incoming calls behavior is unchanged.

Parameters

  core | LinphoneCore
  yesno | if yes, subsequent outgoing calls will propose multicast ip set by linphone_core_set_video_multicast_addr

bool_t linphone_core_video_multicast_enabled | ( | const LinphoneCore * | core | ) |

Use to get multicast state of video stream.

Parameters

  core | LinphoneCore

Returns
  true if subsequent calls will propose multicast ip set by linphone_core_set_video_multicast_addr

void linphone_core_set_video_display_filter | ( | LinphoneCore * | lc,
|  | const char * | filter_name
| ) |  |

Set the name of the mediastreamer2 filter to be used for rendering video. This is for advanced users of the library, mainly to workaround hardware/driver bugs.

const char* linphone_core_get_video_display_filter | ( | LinphoneCore * | lc | ) |

Get the name of the mediastreamer2 filter used for rendering video.