Re: Enabling simulcast in the answer

>
> The first "problem" here is obvious: the JS app must "parse" the
> received SDP offer in order to figure out the offered simulcast stuff
> (offered RID values and directions).


The app doesn't need to do anything here; the browser should create a
transceiver automatically as a result of "setRemoteDescription".

Here the second problem: After the first SDP O/A (in which the browser
> successfully enabled sending simulcast) the remote sends a new SDP
> re-offer with some simulcast related params modified


This does seem like something that needs to be addressed. I'd say that
after calling "setRemoteDescription", "sender.getParameters" should return
a new RTCRtpEncodingParameters for the new RID, and omit the
RTCRtpEncodingParameters for the removed RID.

On Fri, Apr 14, 2017 at 3:57 AM, Iñaki Baz Castillo <ibc@aliax.net> wrote:

> Hi,
>
> Assuming the browser receives an SDP offer with a m=video section that
> invites the browser to send simulcast:
>
>   a=rid:1 recv
>   a=rid:2 recv
>   a=simulcast: recv rid=1;2
>
> >From previous discussions I understand that, if the browser wishes to
> honor the simulcast "invitation", it must create a new Transceiver and
> fill `sendEncodings` parameters with the EXACT RID values given in the
> offer. This is, something that would generate the following stuff in
> the SDP answer (within the same m= section):
>
>   a=rid:1 send
>   a=rid:2 send
>   a=simulcast: send rid=1;2
>
>
> The first "problem" here is obvious: the JS app must "parse" the
> received SDP offer in order to figure out the offered simulcast stuff
> (offered RID values and directions).
>
> What would happen if the JS app incorrectly sets the `sendEncodings`
> with, for example, RID values not present in the received offer?
>
>
> Here the second problem: After the first SDP O/A (in which the browser
> successfully enabled sending simulcast) the remote sends a new SDP
> re-offer with some simulcast related params modified, for example:
>
>   a=rid:1 recv
>   a=rid:4 recv
>   a=simulcast: recv rid=1;4
>
> (RID 2 was was removed and RID 4 was added).
>
> What should do the JS in this case? and what would happen if it does
> nothing but just call setRemoteDescription() + createAnswer() +
> setLocalDescription()?
>
>
>
> --
> Iñaki Baz Castillo
> <ibc@aliax.net>
>
>

Received on Friday, 14 April 2017 16:21:52 UTC