Re: [webrtc-pc] Fix "does not allow remotely initiated RID renegotiation" step (#2757)

I've written some tentative WPT tests in https://jsfiddle.net/jib1/opsv1ugf/ with console.log statements instead of asserts in places, and the results are in. Chrome, Safari and Edge pretty much yield the same results. Firefox only passes the first (existing) test since we're about to implement this. In Chrome:

(Note the last two PASSes illustrate current behavior, not spec compliance)
```
FAIL createAnswer() attaches to an existing transceiver with a remote simulcast offer: Expected exactly one transceiver - Expected 1, got 2 failed
PASS SRD(simulcastOffer) creates a simulcast transceiver with rids
FAIL SRD(simulcastOffer) creates a simulcast transceiver with scaleResolutionDownBys: Expected scaleResolutionDownBys - Expected 4,2,1, got ,, failed
PASS SRD(simulcastOffer) creates a simulcast transceiver with actives
foo,bar,baz
foo,bar
foo
foo
foo
PASS Remote reoffer can narrow but not (re-)expand simulcast envelope. Never fails.
0,1,2
0,1
0
0
0
PASS Remote reanswer can narrow but not (re-)expand simulcast envelope. Never fails.
4/6
PASS 
```
To summarize:
1. SRD never fails in response, ignoring changes if needed instead
2. remote offers can narrow the simulcast envelope
3. remote answers can narrow the simulcast envelope
3. neither remote offers nor answers can expand the simulcast envelope, but doesn't fail
4. Once narrowed, the envelope stays narrowed and cannot be re-expanded
5. Once present, rid ids are never removed

1, 2 and 5 violate the spec I think. We should perhaps assess how web compatible we think it would be to enforce the spec at this point.

-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/pull/2757#issuecomment-1204577689 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 3 August 2022 23:23:27 UTC