liblinphone  3.6.1
Data Structures | Macros | Typedefs | Functions
Obtaining information about a running call: sound volumes, quality indicators

Data Structures

struct  _LinphoneCallStats
 

Macros

#define LINPHONE_VOLUME_DB_LOWEST   (-120)
 

Typedefs

typedef struct _LinphoneCallStats LinphoneCallStats
 

Functions

float linphone_call_get_play_volume (LinphoneCall *call)
 
float linphone_call_get_record_volume (LinphoneCall *call)
 
float linphone_call_get_current_quality (LinphoneCall *call)
 
float linphone_call_get_average_quality (LinphoneCall *call)
 
const LinphoneCallStatslinphone_call_get_audio_stats (LinphoneCall *call)
 
const LinphoneCallStatslinphone_call_get_video_stats (LinphoneCall *call)
 
void linphone_call_params_set_record_file (LinphoneCallParams *cp, const char *path)
 
const char * linphone_call_params_get_record_file (const LinphoneCallParams *cp)
 
void linphone_call_start_recording (LinphoneCall *call)
 
void linphone_call_stop_recording (LinphoneCall *call)
 

Detailed Description

When a call is running, it is possible to retrieve in real time current measured volumes and quality indicator.

Macro Definition Documentation

#define LINPHONE_VOLUME_DB_LOWEST   (-120)

Lowest volume measurement that can be returned by linphone_call_get_play_volume() or linphone_call_get_record_volume(), corresponding to pure silence.

Typedef Documentation

The LinphoneCallStats objects carries various statistic informations regarding quality of audio or video streams.

To receive these informations periodically and as soon as they are computed, the application is invited to place a CallStatsUpdated callback in the LinphoneCoreVTable structure it passes for instanciating the LinphoneCore object (see linphone_core_new() ).

At any time, the application can access last computed statistics using linphone_call_get_audio_stats() or linphone_call_get_video_stats().

Function Documentation

float linphone_call_get_play_volume ( LinphoneCall call)

Returns the measured sound volume played locally (received from remote). It is expressed in dbm0.

float linphone_call_get_record_volume ( LinphoneCall call)

Returns the measured sound volume recorded locally (sent to remote). It is expressed in dbm0.

float linphone_call_get_current_quality ( LinphoneCall call)

Obtain real-time quality rating of the call

Based on local RTP statistics and RTCP feedback, a quality rating is computed and updated during all the duration of the call. This function returns its value at the time of the function call. It is expected that the rating is updated at least every 5 seconds or so. The rating is a floating point number comprised between 0 and 5.

4-5 = good quality
3-4 = average quality
2-3 = poor quality
1-2 = very poor quality
0-1 = can't be worse, mostly unusable

Returns
The function returns -1 if no quality measurement is available, for example if no active audio stream exist. Otherwise it returns the quality rating.
float linphone_call_get_average_quality ( LinphoneCall call)

Returns call quality averaged over all the duration of the call.

See linphone_call_get_current_quality() for more details about quality measurement.

const LinphoneCallStats* linphone_call_get_audio_stats ( LinphoneCall call)

Access last known statistics for audio stream, for a given call.

const LinphoneCallStats* linphone_call_get_video_stats ( LinphoneCall call)

Access last known statistics for video stream, for a given call.

void linphone_call_params_set_record_file ( LinphoneCallParams *  cp,
const char *  path 
)

Enable recording of the call (voice-only). This function must be used before the call parameters are assigned to the call. The call recording can be started and paused after the call is established with linphone_call_start_recording() and linphone_call_pause_recording().

Parameters
cpthe call parameters
pathpath and filename of the file where audio is written.
const char* linphone_call_params_get_record_file ( const LinphoneCallParams *  cp)

Retrieves the path for the audio recoding of the call.

void linphone_call_start_recording ( LinphoneCall call)

Start call recording. The output file where audio is recorded must be previously specified with linphone_call_params_set_record_file().

void linphone_call_stop_recording ( LinphoneCall call)

Stop call recording.