Skip to content

Stream events and MoQ control track#5

Merged
zsiec merged 4 commits into
mainfrom
stream-events
Mar 4, 2026
Merged

Stream events and MoQ control track#5
zsiec merged 4 commits into
mainfrom
stream-events

Conversation

@zsiec
Copy link
Copy Markdown
Owner

@zsiec zsiec commented Mar 4, 2026

Summary

Brief description of the change.

Test Plan

  • make check passes
  • New/changed behavior is tested

zsiec added 4 commits March 4, 2026 08:16
Introduce ControlBroadcaster to fan out control JSON to multiple viewers with per-subscriber buffered channels and non-blocking sends (drops on slow subscribers). Wire the broadcaster into Server (create/run when ControlCh is set) and MoQSession (replace single ControlCh with ControlBroadcaster, subscribe/unsubscribe per session). Rename protocol/writer API from WriteCaptionFrame to WriteDataObject and update protocol interface and tests accordingly. Add unit tests for ControlBroadcaster and MoQSession control-subscribe behavior and adjust existing writer tests to the new API. Minor doc/comment tweaks around stream registration concurrency.
Store the last used single-mode stream key and reuse it when switching back to single mode so the player auto-connects. Update connect button and status handling to reflect auto-reconnect and clear the saved key on manual disconnect. In PrismPlayer, keep a reference to the audio-resume handler and attach listeners without {once:true} so AudioContext resumes across reconnect cycles, and remove those listeners on destroy. In PrismRenderer.stop(), reset various timing/PTS fields so a restarted renderer doesn't pace against stale timestamps.
@zsiec zsiec merged commit f380e27 into main Mar 4, 2026
1 check 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