Signal rtp-mid-demux capability for supporting participants#1287
Open
JonathanLennox wants to merge 2 commits into
Open
Signal rtp-mid-demux capability for supporting participants#1287JonathanLennox wants to merge 2 commits into
JonathanLennox wants to merge 2 commits into
Conversation
When a participant advertises mid-demux support (and SSRC rewriting is in
use), tell the bridge via the new "rtp-mid-demux" Colibri2 endpoint
capability so it stamps the sdes:mid header extension on rewritten media.
The mid extension itself is already offered to clients, so no change to the
offer is needed; this only controls the bridge-side stamping.
- Features.RTP_MID_DEMUX disco feature ("http://jitsi.org/rtp-mid-demux").
- Participant.useRtpMidDemux(): requires SSRC rewriting, the new
use-rtp-mid-demux config (default on), and client support.
- Plumbed through ParticipantAllocationParameters -> ParticipantInfo and
emitted in Extensions.toEndpoint.
The capability is added by literal string to keep building against the
currently-depended jitsi-xmpp-extensions release; switch to
Capability.CAP_RTP_MID_DEMUX_SUPPORT once a release containing it is used.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1287 +/- ##
=========================================
Coverage 26.20% 26.20%
- Complexity 469 470 +1
=========================================
Files 126 126
Lines 7908 7922 +14
Branches 1212 1216 +4
=========================================
+ Hits 2072 2076 +4
- Misses 5523 5532 +9
- Partials 313 314 +1
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
jitsi-ci Bot
pushed a commit
to jitsi/jitsi-pr-tests-pages
that referenced
this pull request
Jun 17, 2026
useRtpMidDemux() told the bridge to assign and signal per-slot mids based only on SSRC rewriting + use-rtp-mid-demux + client support, independent of whether the sdes:mid header extension was actually negotiated. With the extension disabled (codec.rtp-extensions.mid.enabled = false) the bridge still signaled a0/v0 mids, which the client placed on its m-lines with no extension to carry them in RTP (and which the bridge never stamped). Gate useRtpMidDemux() on the extension being offered so the three stay consistent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Summary
When a participant advertises mid-demux support (and SSRC rewriting is in use), tell the bridge via the new
rtp-mid-demuxColibri2 endpoint capability so it stamps thesdes:midheader extension on rewritten media. The mid extension itself is already offered to clients, so no change to the offer is needed; this only controls the bridge-side stamping.Part of the cross-repo bridge-stamped mid change (durable fix for the Chrome/WebRTC silent audio-demux wedge under SSRC rewriting). Companion
mid-demux-stampingbranches in jitsi-xmpp-extensions, jitsi-videobridge, and lib-jitsi-meet; tested together.Details
Features.RTP_MID_DEMUXdisco feature (http://jitsi.org/rtp-mid-demux).Participant.useRtpMidDemux(): requires SSRC rewriting, the newuse-rtp-mid-demuxconfig (default on), and client support.ParticipantAllocationParameters→ParticipantInfoand emitted inExtensions.toEndpoint.The capability is added by literal string to keep building against the currently-depended jitsi-xmpp-extensions release; switch to
Capability.CAP_RTP_MID_DEMUX_SUPPORTonce a release containing it is used.Tests
mvn test-compile, ktlint, andColibriTranscriptionTestpass.🤖 Generated with Claude Code