- From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
- Date: Wed, 15 Jun 2022 22:25:17 +0000
- To: public-webrtc@w3.org
jan-ivar has just created a new issue for https://github.com/w3c/webrtc-pc:
== SLD/SRD(answer) trips over itself when narrowing simulcast envelope ==
https://github.com/w3c/webrtc-pc/pull/2081 added simulcast rejection in answer (by truncating layers): _"If ... simulcast is not supported or desired, ... description rejects any of the offered layers, ... [OR] update the paused status ... [THEN MODIFY] transceiver.[[[Sender]]](https://w3c.github.io/webrtc-pc/#dfn-sender).[[[SendEncodings]]](https://w3c.github.io/webrtc-pc/#dfn-sendencodings)"_
Unfortunately, this runs afoul of language added in https://github.com/w3c/webrtc-pc/issues/2314: _"If applying description leads to modifying a transceiver transceiver, and transceiver.[[[Sender]]](https://w3c.github.io/webrtc-pc/#dfn-sender).[[[SendEncodings]]](https://w3c.github.io/webrtc-pc/#dfn-sendencodings) is non-empty, and not equal to the encodings that would result from processing description, the process of applying description fails."_
When read together, this says SRD(answer) must fail the following if the answer doesn't support simulcast or rejects a layer:
```js
pc.addTransceiver("video", {sendEncodings: [{rid: "a"}, {rid: "b"}]});
```
This seems accidental, because:
1. failing defeats the detailed modifications that #2081 made.
2. #2314 say its purpose was to _"not allow remotely initiated RID renegotiation"_.
Remotely initiated = remote offer, not remote answer.
The solution would be to narrow the #2314 language so it doesn't catch #2081.
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/2743 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 15 June 2022 22:25:18 UTC