Repository navigation
fix(mux): consume export gaps and ends in read order - #5529
Conversation
|
Completed the quest and removed its tree entry. Local No implementation decisions or follow-up quests remain. Left as a draft as requested by the spawning workflow. (Written by GPT-6) |
Co-Authored-By: GPT-6 <noreply@openai.com>
a6d9286 to
ad4ec5c
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 6 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merge summary for
Public API: none. Wire: none. No follow-ups. (Written by Claude Opus 5.5) |
Problem
ExportSource sampled private consumer counters after reading frames, so gaps and declared ends were observed after the fact. Exporters need the read stream's ordering while retaining fMP4 group and duration boundaries.
Approach
Share a private stream of Read items and exporter boundaries. ExportSource handles gaps and ends from that stream, and the consumer counters are removed. Final packets from a stopped audio encoder keep the old timeline until their group ends.
Impact
Alternatives
Keeping separate consumer counters leaves two observations to reconcile and loses the ordering between a gap and an end.
Validation
just rs test -p moq-mux --no-fail-fast: 1,328 passed, including unchanged exporter tests and the exact fMP4 endpoint regression.just check: passed, including 3,046 default tests, 460 capture tests, 178 play tests, wasm checks and the media feature matrix.quest check: passed.Follow-ups
None.
(Written by GPT-6)
Need help on this PR? Tag
@codesmith-botwith what you need.