Prosody RTP processing: API: sm_vmprx_config_codec_silk

Prototype Definition

int sm_vmprx_config_codec_silk(struct sm_vmprx_codec_silk_parms *codecp)

Parameters

*codecp
a structure of the following type:
typedef struct sm_vmprx_codec_silk_parms {
	tSMVMPrxId vmprx;					/* in */
	tSM_INT payload_type;					/* in */
	enum kSMPLCMode plc_mode;				/* in */
} SM_VMPRX_CODEC_SILK_PARMS;

Description

Configures the VMP[rx] to use the SILK codec from Skype, setting the payload type mapping to payload_type. This supersedes any previous mapping that was in effect for this codec.

If the call completes successfully, RTP packets arriving at the VMP[rx] with a payload type that matches the specified payload type will be decoded using this codec.

The sample rate of the resulting audio is set to match the VMP[rx], and in the current release should be either 8000 or 16000.

Note that the current firmware implementation of the decoder does not make use of any "forward error correction" (FEC) data transmitted by the encoder.

This requires the module silk to have been downloaded.

Fields

vmprx
The VMP[rx] to which to add the codec.
payload_type
The payload type identifer to use with this codec (see IETF RFC 3550 section 13). Supplying a value of -1 will remove any payload type configuration from the codec preventing its use.
plc_mode
Enables or disables PLC (packet loss concealment) as appropriate for the codec. Note the codec implementation may not allow PLC to be disabled. One of these values:
kSMPLCModeDisabled
PLC Disabled
kSMPLCModeEnabled
PLC Enabled

Returns

0 if call completed successfully, otherwise a standard error such as:


This function is part of the Prosody RTP processing API.