[webrtc-pc] Can simulcast offers renegotiate rids? (#2314)

jan-ivar has just created a new issue for https://github.com/w3c/webrtc-pc:

== Can simulcast offers renegotiate rids? ==
We appear to allow remote simulcast offers to renegotiate rids and number of layers:
> *If the description is of type "offer" and contains a request to receive simulcast, use the order of the rid values specified in the simulcast attribute to create an RTCRtpEncodingParameters dictionary for each of the simulcast layers, populating the rid member according to the corresponding rid value, and let sendEncodings be the list containing the created dictionaries. Otherwise, let sendEncodings be an empty list.*

This differs from the local side, and conflicts with [5.4.1.](https://w3c.github.io/webrtc-pc/#simulcast-functionality):
> *The addTransceiver method establishes the simulcast envelope which includes the maximum number of simulcast streams that can be sent, as well as the ordering of the encodings* ... Once the envelope is determined, layers cannot be removed. 

If we allow the rids to be renegotiated (say, we start with 'low', 'med', and 'high', and then a renegotiation happens that changes to rids 'tall', 'grande', and 'venti'), then we have a referential integrity problem with payloadType. See https://github.com/w3c/webrtc-pc/issues/2313.

cc @docfaraday 

Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2314 using your GitHub account

Received on Saturday, 28 September 2019 01:26:29 UTC