Re: [webrtc-pc] Don't let offers to receive simulcast overwrite existing [[SendEncodings]] (#2758)

This PR needs more work to incorporate additonal findings:
1. Its restriction that `encodings[0].rid` must match the first rid in a=simulcast seems too strict, when implementations [allow rid pruning not just from the tail](https://github.com/w3c/webrtc-pc/issues/2762#issuecomment-1264036923)
2. While letting remote offers prune rids is required by JSEP, browsers' immediate exposure of this effect on `encodings` in`"have-remote-offer"` seems poorly executed as [it cannot be rolled back, and effects stack over back-to-back SRDs](https://github.com/w3c/webrtc-pc/issues/2762#issuecomment-1271875081).

Instead, waiting until local answer to prune `encodings` avoids both problems (no `encodings` to rollback and no stacking).

Such waiting would maintain invariants the spec offers today, which seems more conservative as a first PR here, while moving us closer to how browsers work.

I think that's the right place to stop, as whether we should go any further I think requires further WG discussion. 

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


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

Received on Thursday, 13 October 2022 01:55:24 UTC