Re: Enabling simulcast in the answer

The simulcast solution we were able to fit into the 1.0 time frame was
specifically designed such that the browser/client can offer simulcast, but
not (necessarily) answer a simulcast offer.    Allowing the server to send
an offer to the client and have it answer, as I recall, was too complex to
get into 1.0 (we barely got simulcast in at all) and will have to wait for
a future version of the spec.

I believe a browser/client is free to go beyond the spec and allow
answering simulcast offers from the server, but it's not part of the spec.

This mostly defined i JSEP, by the way, not the W3C spec.





On Fri, Apr 14, 2017 at 4:00 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 17:37:49 UTC