This function is deprecated.
int sm_vidmprx_config_codec_rfc3984(struct sm_vidmprx_codec_rfc3984_parms *codecp)
typedef struct sm_vidmprx_codec_rfc3984_parms { tSMVidMPrxId vidmprx; /* in */ tSM_INT payload_type; /* in */ enum kSMRFC3984PicSize { kSMRFC3984PicSizeSubQCIF=1, kSMRFC3984PicSizeQCIF, kSMRFC3984PicSizeCIF, kSMRFC3984PicSize4CIF, kSMRFC3984PicSize16CIF, } pic_size; /* in */ } SM_VIDMPRX_CODEC_RFC3984_PARMS;
Configures an RFC 3984 de-packetiser, as defined in IETF RFC 3984, to the VidMP[rx] setting the payload type mapping to payload_type.
The de-packetiser accepts RTP packets as input, and composes Audio Video Format (AVF) frames as output, which the VidMP[rx] makes available via its datafeed.
It is possible to change the payload type mapping of a de-packetiser whilst a VidMP[rx] remains valid by specifying a new payload type mapping for a given de-packetiser. This supersedes any previous mappings that were in effect for that de-packetiser.
If the call completes successfully, RTP packets arriving at the VidMP[rx] with a payload type that matches a mapped type will be decoded using this de-packetiser.
If the de-packetiser is given the payload type -1
the
de-packetiser is no longer valid for this RTP session, unless it is
subsequently reconfigured.
On starting to receive RTP packets, a newly configured de-packetiser will not emit any AVF frames until it is reasonably certain that the first valid and complete H.264 Intra (I-) Frame, including one or more Sequence/Picture Parameter Set pairs, has been received. Waiting for an I-Frame attempts to ensure that the video, when later rendered, starts cleanly and without the picture disruption which may occur were the rendering decoder to attempt to decode Predicted (P-) Frames without an I-Frame as reference. A Parameter Set pair is required because no frames can be decoded without one.
Each I-Frame in the output AVF stream will include the latest received Parameter Set pair(s).
-1
will remove any payload type configuration from the
de-packetiser preventing its use.
0 if call completed successfully, otherwise a standard error such as:
This function is part of the Prosody RTP processing API.