liblinphone  3.8.1
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
 

Typedefs

typedef PayloadType LinphonePayloadType
 
typedef enum _LinphoneAVPFMode LinphoneAVPFMode
 
typedef enum _LinphoneMediaEncryption LinphoneMediaEncryption
 
typedef struct _LinphoneVideoPolicy LinphoneVideoPolicy
 

Enumerations

Functions

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_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_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)
 
const MSList * linphone_core_get_audio_codecs (const LinphoneCore *lc)
 
const MSList * linphone_core_get_video_codecs (const LinphoneCore *lc)
 
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_jittcomp (LinphoneCore *lc, int value)
 
void linphone_core_set_video_jittcomp (LinphoneCore *lc, int value)
 
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_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 LinphoneVideoPolicylinphone_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)
 
unsigned long linphone_core_get_native_video_window_id (const LinphoneCore *lc)
 
void linphone_core_set_native_video_window_id (LinphoneCore *lc, unsigned long id)
 
unsigned long linphone_core_get_native_preview_window_id (const LinphoneCore *lc)
 
void linphone_core_set_native_preview_window_id (LinphoneCore *lc, unsigned long id)
 
int linphone_core_get_device_rotation (LinphoneCore *lc)
 
void linphone_core_set_device_rotation (LinphoneCore *lc, int rotation)
 
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)
 
MSVideoSize linphone_core_get_preview_video_size (const LinphoneCore *lc)
 
MSVideoSize linphone_core_get_current_preview_video_size (const LinphoneCore *lc)
 
void linphone_core_set_preview_video_size_by_name (LinphoneCore *lc, const char *name)
 
void linphone_core_set_preferred_video_size_by_name (LinphoneCore *lc, const char *name)
 
MSVideoSize linphone_core_get_preferred_video_size (const LinphoneCore *lc)
 
void linphone_core_set_preferred_framerate (LinphoneCore *lc, float fps)
 
float linphone_core_get_preferred_framerate (LinphoneCore *lc)
 
void linphone_core_set_use_files (LinphoneCore *lc, bool_t yesno)
 
void linphone_core_set_play_file (LinphoneCore *lc, const char *file)
 
void linphone_core_set_record_file (LinphoneCore *lc, const char *file)
 
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)
 
unsigned long linphone_call_get_native_video_window_id (const LinphoneCall *call)
 
void linphone_call_set_native_video_window_id (LinphoneCall *call, unsigned long 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)
 
LinphoneCallParamslinphone_core_create_default_call_parameters (LinphoneCore *lc)
 
void linphone_core_send_dtmf (LinphoneCore *lc, char dtmf)
 
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)
 
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)
 
LinphonePayloadTypelinphone_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_enable_video_adaptive_jittcomp (LinphoneCore *lc, bool_t enable)
 
bool_t linphone_core_video_adaptive_jittcomp_enabled (LinphoneCore *lc)
 
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)
 
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_use_preview_window (LinphoneCore *lc, bool_t yesno)
 
const char * linphone_core_get_play_file (const LinphoneCore *lc)
 
const char * linphone_core_get_record_file (const LinphoneCore *lc)
 
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

Typedef Documentation

typedef PayloadType LinphonePayloadType

Object representing an RTP payload type.

Enum describing RTP AVPF activation modes.

Enum describing type of media encryption types.

Structure describing policy regarding video streams establishments.

Enumeration Type Documentation

Enum describing RTP AVPF activation modes.

Enumerator
LinphoneAVPFDefault 

Use default value defined at upper level

LinphoneAVPFDisabled 

AVPF is disabled

LinphoneAVPFEnabled 

AVPF is enabled

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_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_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
lcthe LinphoneCore object
bwthe 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
lcthe LinphoneCore object
bwthe 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_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.

const MSList* linphone_core_get_audio_codecs ( const LinphoneCore lc)

Returns the list of available audio codecs.

Parameters
[in]lcThe 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]lcThe 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).

int linphone_core_set_audio_codecs ( LinphoneCore lc,
MSList *  codecs 
)

Sets the list of audio codecs.

Parameters
[in]lcThe LinphoneCore object
[in]codecsA 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]lcThe LinphoneCore object
[in]codecsA 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_jittcomp ( LinphoneCore lc,
int  value 
)

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_set_video_jittcomp ( LinphoneCore lc,
int  value 
)

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_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_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
lcThe LinphoneCore object
devidthe 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
lcThe LinphoneCore object
devidthe 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
lcThe LinphoneCore object
devidthe 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
lcThe LinphoneCore object
devidthe 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
lcThe LinphoneCore object
devidthe 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
lcThe LinphoneCore object
const char* linphone_core_get_playback_device ( LinphoneCore lc)

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

Parameters
lcThe LinphoneCore object
const char* linphone_core_get_capture_device ( LinphoneCore lc)

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

Parameters
lcThe 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
lcThe 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
pathThe file must be a wav 16bit linear. Local ring is disabled if null
lcThe LinphoneCore object
const char* linphone_core_get_ring ( const LinphoneCore lc)

Returns the path to the wav file used for ringing.

Parameters
lcThe 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
lcThe LinphoneCore object
idthe 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
lcThe LinphoneCore object
unsigned long 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_set_native_video_window_id ( LinphoneCore lc,
unsigned long  id 
)

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

unsigned long 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,
unsigned long  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
lcobject.
rotation. IOS supported values are 0 for UIInterfaceOrientationPortrait and 270 for UIInterfaceOrientationLandscapeRight.
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
lcthe linphone core
vsizethe 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.
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
lcthe 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
lcthe core
Returns
a MSVideoSize
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 ...

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 ...

MSVideoSize linphone_core_get_preferred_video_size ( const LinphoneCore lc)

Returns the current preferred video size for sending.

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
lcthe LinphoneCore
fpsthe 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
lcthe linphone core
Returns
frame rate in number of frames per seconds.
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]lcLinphoneCore object
[in]yesnoA boolean value asking to stream audio from and to files or not.
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]lcLinphoneCore object
[in]fileThe path to the file to be played when putting somebody on hold.
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]lcLinphoneCore object
[in]fileThe path to the file where incoming stream is to be recorded.
void linphone_core_play_dtmf ( LinphoneCore lc,
char  dtmf,
int  duration_ms 
)

Plays a dtmf sound to the local user.

Parameters
lcLinphoneCore
dtmfDTMF to play ['0'..'16'] | '#' | '#'
duration_msduration 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
lcThe 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
lcthe LinphoneCore
modethe mode.
LinphoneAVPFMode linphone_core_get_avpf_mode ( const LinphoneCore lc)

Return AVPF enablement. See linphone_core_set_avpf_mode() .

Parameters
lcthe core
Returns
the avpf enablement mode.
int linphone_core_get_avpf_rr_interval ( const LinphoneCore lc)

Return the avpf report interval in seconds.

Parameters
lcthe 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
lcthe core
intervalinterval in seconds.
int linphone_payload_type_get_type ( const LinphonePayloadType pt)

Get the type of payload.

Parameters
[in]ptLinphonePayloadType 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]ptLinphonePayloadType 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]ptLinphonePayloadType object
Returns
The mime type.
int linphone_payload_type_get_channels ( const LinphonePayloadType pt)

Get the number of channels.

Parameters
[in]ptLinphonePayloadType object
Returns
The number of channels.
const char* linphone_media_encryption_to_string ( LinphoneMediaEncryption  menc)

Convert enum member to string.

unsigned long 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,
unsigned long  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
lcLinphoneCore 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
lcThe LinphoneCore object
dtmfThe dtmf name specified as a char, such as '0', '#' etc...
void linphone_core_set_sip_transport_timeout ( LinphoneCore lc,
int  timeout_ms 
)

Set the SIP transport timeout.

Parameters
[in]lcLinphoneCore object.
[in]timeout_msThe SIP transport timeout in milliseconds.
int linphone_core_get_sip_transport_timeout ( LinphoneCore lc)

Get the SIP transport timeout.

Parameters
[in]lcLinphoneCore 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]lcLinphoneCore object.
[in]enableTRUE 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]lcLinphoneCore object.
Returns
TRUE if DNS SRV resolution is enabled, FALSE if disabled.
bool_t linphone_core_payload_type_enabled ( LinphoneCore lc,
const LinphonePayloadType pt 
)

Tells whether the specified payload type is enabled.

Parameters
[in]lcLinphoneCore object.
[in]ptThe 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]lcLinphoneCore object.
[in]ptThe 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]lcthe LinphoneCore object
[in]ptthe LinphonePayloadType to modify.
[in]bitratethe 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]lcthe LinphoneCore object
[in]ptthe 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]lcLinphoneCore object.
[in]ptThe LinphonePayloadType to enable or disable. It can be retrieved using linphone_core_find_payload_type
[in]enableTRUE 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
lcLinphoneCore object
typepayload mime type (I.E SPEEX, PCMU, VP8)
ratecan be LINPHONE_FIND_PAYLOAD_IGNORE_RATE
channelsnumber 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]lcLinphoneCore object
[in]enableTRUE 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]lcLinphoneCore object
Returns
TRUE if the audio adaptive jitter compensation is enabled, FALSE otherwise.
void linphone_core_enable_video_adaptive_jittcomp ( LinphoneCore lc,
bool_t  enable 
)

Enable or disable the video adaptive jitter compensation.

Parameters
[in]lcLinphoneCore object
[in]enableTRUE 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]lcLinphoneCore object
Returns
TRUE if the video adaptive jitter compensation is enabled, FALSE otherwise.
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]lcLinphoneCore 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]lcLinphoneCore object
[in]ringThe 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]lcLinphoneCore 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]lcLinphoneCore object
[in]enableA 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]lcLinphoneCore object.
[in]valTRUE 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]lcLinphoneCore 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]lcLinphoneCore object
[in]enableTRUE to enable the microphone, FALSE to disable it.
bool_t linphone_core_mic_enabled ( LinphoneCore lc)

Tells whether the microphone is enabled.

Parameters
[in]lcLinphoneCore 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
lcThe LinphoneCore object
vcap_enabledindicates whether video capture is enabled
display_enabledindicates 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]lcLinphoneCore object.
[in]enableTRUE 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]lcLinphoneCore object.
[in]enableTRUE 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]lcLinphoneCore object
[in]enableTRUE 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]lcLinphoneCore 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]lcLinphoneCore object.
Returns
TRUE if video display is enabled, FALSE if disabled.
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]lcLinphoneCore 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]lcLinphoneCore object.
[in]pathThe 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]lcLinphoneCore 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]lcLinphoneCore object.
[in]fpsThe 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]lcLinphoneCore object.
Returns
The frame rate used for static picture.
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]lcLinphoneCore object.
[in]yesnoTRUE to use a separate window, FALSE to insert the preview in the remote video window.
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]lcLinphoneCore object
Returns
The path to the file that is 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]lcLinphoneCore object
Returns
The path to the file where incoming stream is recorded.
int linphone_core_set_media_encryption ( LinphoneCore lc,
LinphoneMediaEncryption  menc 
)

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

Parameters
[in]lcLinphoneCore object.
[in]mencThe 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]lcLinphoneCore 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]lcLinphoneCore 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]lcLinphoneCore object.
[in]mIf 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
corethe 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
coreLinphoneCore
ipan 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
coreLinphoneCore
ipan 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
coreLinphoneCore
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
coreLinphoneCore
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
coreLinphoneCore
ttlvalue 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
coreLinphoneCore
ttlvalue 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
coreLinphoneCore
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
coreLinphoneCore
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.

bool_t linphone_core_audio_multicast_enabled ( const LinphoneCore core)

Use to get multicast state of audio stream.

Parameters
coreLinphoneCore
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
coreLinphoneCore
yesnoif 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
coreLinphoneCore
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.