Skip to content

Teams calls: opus-rs, jitter buffer, muted join, and speaker tracking - #49

Merged
Yannicked merged 6 commits into
mainfrom
fix/teams-calls-and-audio
Oct 26, 2026
Merged

Yannicked merged 6 commits into
mainfrom
fix/teams-calls-and-audio

Conversation

@Yannicked

Copy link
Copy Markdown
Owner

This PR improves Teams call audio handling and integrates opus-rs 0.1.40:

  • Replace the vendored opus decoder with the opus-rs 0.1.40 crate
  • Play calls with opus-rs through an adaptive jitter buffer with FEC
  • Join Teams meetings muted by default (matching huddle behavior)
  • Mark the active Teams speaker from the latest history
  • Signal how Teams video reaches us in SDP

Read the speaker news the meeting sends to several at once, take the front of the list, and never mark someone muted.
As a huddle starts: the microphone stays closed and the meeting is told, until you unmute.
Turn on transport-cc feedback, offer it on our video lines and answer it at the server's number, so the meeting stops sending us video at a crawl.
The buffer grows after a stall and keeps the burst, conceals at most 60 ms, and plays a lost frame from the next one's copy; our microphone sends those copies too.
It has the FEC, concealment and encoder fixes we pinned from the fork.
@Yannicked
Yannicked merged commit 3ac771e into main Oct 26, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant