Prosody RTP processing: API: sm_vmprx_config_codec_l16

Prototype Definition

int sm_vmprx_config_codec_l16(struct sm_vmprx_codec_l16_parms *codecp)

Parameters

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

Description

Configures an L16 codec to the VMP[rx] setting the payload type mapping to payload_type.

The L16 encoding is as described in IETF RFC 3551 section 4.5.11

It is possible to change the payload type mapping of a codec whilst a VMP[rx] remains valid by specifying a new payload type mapping for a given codec. This supersedes any previous mappings that were in effect for that codec.

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

If the codec is given the payload type -1 the codec is no longer valid for this RTP session, unless it is subsequently reconfigured.

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