Re: An idea for specifying RTX, FEC, and RED payload types

Such complex uses of FEC would be done in the RtpEncodingParameters.  There
is already a limited per-encoding configuration there that could be
expanded upon.  This idea is just to indicate the payload type that would
be used, across all encodings of that RtpSender/RtpReceiver.

On Mon, Oct 20, 2014 at 2:24 AM, Singh Varun <varun.singh@aalto.fi> wrote:

>  FEC is an interesting beast, I think this proposal and currently in
> rtcweb presumes that the FEC packets apply to a single media stream,
> however, it could easily apply across media streams as well. It would be
> most useful, when the endpoint is sending multiple different media streams.
> Any thoughts on allowing complex uses of FEC?
>
>
>  On 17 Oct 2014, at 23:12, Peter Thatcher <pthatcher@google.com> wrote:
>
>  Good point.  I suppose we could do this:
>
>  dictionary RTCRtpParameters {
>    DOMString                       muxId = "";
>    sequence<RTCRtpCodecParameters> codecs;
>
> *   RTCRtpPayloadTypes              red;    RTCRtpPayloadTypes
>  fec;*
>    ...
> };
>
>  dictionary RTCRtpPayloadTypes {
>   payloadtype payloadType;
>   payloadtype rtxPayloadType;
> }
>
>  But maybe that's just as ugly as putting them in the codecs list.
>
>
>
>
>
>
> On Fri, Oct 17, 2014 at 12:58 PM, Sergio Garcia Murillo <
> sergio.garcia.murillo@gmail.com> wrote:
>
>>  Hi Peter,
>>
>> While it is not very common to have RTX and FEC enabled simultaneously,
>> in theory I think it could be possible to have an RTX stream for the
>> RED/FEC payload. With your approach that would not be possible, as FEC
>> would not be a codec. It is a restriction I could live with, but we should
>> make it clear stated.
>>
>> Best regards
>> Sergio
>>
>> On 17/10/2014 19:54, Peter Thatcher wrote:
>>
>> They aren't real codecs, so it's kind of ugly going in "codecs", and it
>> isn't completely obvious that doing so is necessary.  It's also not obvious
>> to use "APT" in an RTX "codec", not to mention that it's also kind of ugly.
>>
>>
>> So, perhaps we could do something like this:
>>
>> dictionary RTCRtpParameters {
>>    DOMString                       muxId = "";
>>    sequence<RTCRtpCodecParameters> codecs;
>>
>> *   payloadtype                     redPayloadType;    payloadtype
>>               fecPayloadType;*
>>    ...
>> };
>>
>>  dictionary RTCRtpCodecParameters {
>>     DOMString   name;
>>    payloadtype payloadType;
>> *   payloadtype rtxPayloadType;*
>>    ...
>>  };
>>
>>   ​
>> Note that this does not tell the browser to send RTX, FEC, or RED.  To do
>> so, one must put in the correct per-encoding control points under
>> RtpEncodingParameters.  This merely specifies the payload types to send or
>> receive
>> ​ in a way that's a little cleaner and more obvious than putting them in
>> the list of RtpCodecParameters.​
>>
>>
>>   Thoughts? ​
>>   ​
>>
>>
>>
>
>

Received on Monday, 20 October 2014 15:09:22 UTC