Prosody RTP processing: API: sm_vmptx_config_codec_g728

Prototype Definition

int sm_vmptx_config_codec_g728(struct sm_vmptx_codec_g728_parms *codecp)

Parameters

*codecp
a structure of the following type:
typedef struct sm_vmptx_codec_g728_parms {
	tSMVMPtxId vmptx;					/* in */
	tSM_INT payload_type;					/* in */
	tSM_INT rate;						/* in */
	enum kSMVMPTxVADMode VADMode;				/* in */
	tSM_INT ptime;						/* in */
} SM_VMPTX_CODEC_G728_PARMS;

Description

Configures a VMP[tx] to use G.728 for encoding data.

This requires the module g728 to have been downloaded.

Fields

vmptx
The VMP[tx] to which to add this 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.
rate
The encoding rate to use, in bits per second. G.728 supports three rates: 9600, 12800 and 16000.
VADMode
The mode of operation for the voice activity detector. One of these values:
kSMVMPTxVADModeDisabled
Disable VAD - all data delivered to the VMP[tx] is encoded and sent
kSMVMPTxVADModeEnabled
Enable VAD - if the signal is inactive, no data is sent (DTX)
kSMVMPTxVADModeComfortNoise
Enable VAD with comfort noise generation - if the signal is inactive, comfort noise packets are sent. If the main codec does not define its own comfort noise, it must have been configured by sm_vmptx_config_codec_comfort_noise().
ptime
The length of the RTP media, in milliseconds, to send in each packet. It is usually desirable to send 20 ms packets. Applications should specify ptime as a multiple of 10 ms.

Returns

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


This function is part of the Prosody RTP processing API.