Repository navigation
fix(webrtc): keep SDP media identifiers unique across pending changes - #1406
Merged
Merged
Conversation
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
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.
SDP allocation previously checked installed media only, so queued media and data-channel sections could receive the same MID. This reproduces the macOS CI error
Answer m-line for mid (...) is not of media type: Applicationwithout relying on random collisions.Reject MIDs already queued by either
AddMediaorAddApp, and include the installed application MID in session uniqueness checks. Preserve the ID generator, public API and peer-authored SDP identities.Add seeded vendor regressions for both allocation orders, repeated collisions and renegotiation, plus a public-API transport regression exercised by normal workspace CI. The parent independently reproduced all three vendor failures on the original allocator and reran them successfully after the fix, along with the transport regression.
Verification: 513 transport tests, 1,457 workspace tests with 14 ignored, 672 vendor tests, strict workspace Clippy, formatting and diff checks pass on Linux. Standalone vendor test Clippy has the same 36 diagnostics on the untouched baseline. All seven exact-head CI checks now pass, including Linux x64, macOS arm64 and Windows x64. Automatic review completed without findings. Live gameplay remains unverified. This is separate from #1300's frame-generation changes.