RTP Payload Format for FEC Data

The RTP payload format for FEC, as specified in section 2.2.2, MUST be identified by the MIME type "audio/x-wms-fec" for audio streams, "video/x-wms-fec" for video streams, and "application/x-wms-fec" for streams that are neither audio nor video.

The RTP clock frequency MUST be 1,000 Hz.

The "a=reliable" field MUST NOT be specified.

The "a=fmtp" field MUST be specified, and the value of the format-specific parameters syntax element on the "a=fmtp" field (as specified in [RFC4566] section 6) MUST contain the URL that a client would specify in an RTSP SETUP request if it wants to receive the FEC packets. For more information, see [RFC2733] section 11.3.

The "a=fmtp" field specifies the control URL for the stream of FEC packets. If the URL is a relative URL, the client MUST follow the rules specified in section for converting a relative URL to an absolute URL.

The "a=fmtp" field MUST also specify the FEC span and the number of FEC packets that will be transmitted per span. These are default values that the client might be able to override by using the Transport (section header.

The syntax of the format-specific parameters syntax element on the "a=fmtp" field MUST adhere to the following ABNF syntax.

 fecspan               = 1*2DIGIT
 fecperspan            = 1*2DIGIT
 format-spec-params    = URI-reference          ; [RFC3986] section 4.1

The value of the fecspan parameter MUST be in the range 1 to 24, inclusive.

The value of the fecperspan parameter MUST be in the range 1 to 24, inclusive, and it MUST be less than or equal to the value of the fecspan parameter.

When this RTP payload format is used, it MUST be specified as an additional RTP payload type in the media description of the stream that is being encoded into the FEC packets.

The following example shows the SDP syntax for a case in which RTP payload type 96 is used for ASF data packets containing audio data, and RTP payload type 98 is used for FEC packets generated from the payload type 96 source packets. The URL on the "a=control" field and on the "a=fmtp" field are both relative URLs. (The base URL is not shown in this example.)

 m=audio 0 RTP/AVP 96 98
 a=rtpmap:96 x-asf-pf/1000
 a=fmtp:96 audio/vnd.wave;codec=123
 a=rtpmap:98 x-wms-fec/1000
 a=fmtp:98 audio/fec 24 1