Fix regression in Chrome 143 due to changes in RTP extensions handling#355
Merged
Fix regression in Chrome 143 due to changes in RTP extensions handling#355
Conversation
# Details - Fixes #353 - Tested in Chrome 143. - Tested in Opera 122 which uses Chromium version:138.0.7204.251. - Tested in Firefox 144.0.2. - Tested in Safari 18.6. ## Rationale Chrome 143 complains when we disable the first m= section in the sending PeerConnection. It complains because its locally generated offer contains simulcast attributes but the SDP answer mediasoup-client generates doesn't contain the corresponding RTP extensions for simulcast (RID). And since we are not closing the transceiver (because it's the first one so it would disconnect ICE), we only "disable" it which means that the response has "a=inactive" but the lack of RID extension makes Chrome 143 throw an error because the offer requests simulcast. Solution is to NOT remove RTP extension attributes from the disabled m= section in the remote SDP answer, and only do it when closing the transceiver (which involves remote port set to 0).
Member
Author
|
Notice that this is not a FULL solution. See my comment in the libwebrtc ticket: https://issues.chromium.org/issues/467164231#comment20 |
|
Thank you for your work. So to have a full solution, we need to wait for Chromium devs, right? |
Member
Author
Yes. I've been told that they are gonna revert the change ASAP. |
|
So I will wait and not change anything yet, as my patch (audio before video) works for me in most cases. And we never close audio producer but pause, we only close video producers. |
jmillan
approved these changes
Dec 11, 2025
Member
Author
|
mediasoup-client 3.18.2 released with the fix. Tested in many browsers. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details
Rationale
Chrome 143 complains when we disable the first m= section in the sending PeerConnection. It complains because its locally generated offer contains simulcast attributes but the SDP answer mediasoup-client generates doesn't contain the corresponding RTP extensions for simulcast (RID). And since we are not closing the transceiver (because it's the first one so it would disconnect ICE), we only "disable" it which means that the response has "a=inactive" but the lack of RID extension makes Chrome 143 throw an error because the offer requests simulcast. Solution is to NOT remove RTP extension attributes from the disabled m= section in the remote SDP answer, and only do it when closing the transceiver (which involves remote port set to 0).