Encoding parameters for RTX/FEC/RED

There has been a lot of confusion of how to enable RTX, FEC, and RED.
Previously we were a little vague about it, relying on the codecs list to
contain them like SDP does.  But several people think that's unclear, and I
agree.  So, here's a proposal that makes the RTX, FEC, and RED payload
types explicit without having RTX, FED, and RED listed as codecs, and
without using codec parameters like "APT":

dictionary RTCRtpCodecParameters {
   DOMString   name;
   payloadtype payloadType;
   payloadtype rtxPayloadType;
   // ...
};

dictionary RTCRtpFecParameters {
    payloadtype         payloadType;
    payloadtype         redPayloadType;
    // If RED is used, RTX refers to RED, not FEC
    payloadtype         rtxPayloadType;
    // ...
};

In case you're wondering why there are so many rtxPayloadTypes, it's
because RTX requires a payload type for every other payload type that could
be received.

I hope this simplifies and clarifies matters.

Received on Tuesday, 4 November 2014 22:19:49 UTC