Repository navigation
test(mux): cover retained jitter clock rules independently - #7722
Conversation
Quest-Claim: 7a8bb4bc4745762a
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
|
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 15 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. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
unheard_lagisolated:a_restart_without_an_old_tail_keeps_an_unheard_tracks_delaydrains the old horizon before restarting with only video, then sends audio late at decode 5000. The restarted clock must anchor on the previous lead difference so video waits; removingunheard_lagreleases video at acquisition end and fails the firstdueassertion.- Horizon shift isolated:
a_restart_hearing_every_track_keeps_deadlines_after_the_old_tailhears both tracks during acquisition (sounheard_lagis zero) while an oldv400tail is still queued. It asserts bothBuffer::at(1, ms(5000))and the emitteddeadlines follow that tail; without the anchor adjustment the restart frames fall due at acquisition end. staleboundary isolated:acquisition_drops_timely_arrivals_only_when_read_past_their_deadlinecovers deadlines at 99/100/101 ms against a 100 ms read: 99 is trimmed as stale, 100 is kept exactly at the boundary, 101 is kept. Removingstalequeues the 99 ms frame and fails.- Quest bookkeeping: deletes the completed
jitter-rule-tests.md, drops its## Requiredentry, and sizes the now-childless cut-audit epic[S].
I traced each test through judge/queue/acquired/unheard_lag/ends and the test helpers: all three are deterministic under paused time (drift stays zero in their short spans) and each fails only when its target rule is removed. cargo fmt --check -p moq-mux is clean, and no tracked file references the deleted quest. No production code changed.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Problem
The previous jitter audit retained three acquisition rules without a test that failed for any one rule's removal. This completes quest/m1/cut-audit/jitter-rule-tests.md.
Approach
Add three paused-time tests using real buffer admission and output:
stale: distinguish arrival from read time, checking cached frames read before, exactly at, and after their deadlines.unheard_lag: drain the old horizon before restarting, so only the unheard audio track's measured lead can preserve its delay.Delete the completed quest and its epic reference. That was the epic's last child, so quest/m1/cut-audit/README.md now carries a size,
[S], for its own remaining work: rerunning the children's reproductions against the release candidate. All production code remains unchanged.Impact
Choices made without asking
[S], asquest checkrequires.Alternatives
Directly asserting helper results would couple tests to implementation. These cases exercise acquisition and output through the buffer. No rule was removed or changed.
Validation
At merged head
8a6ae9cca18d0b2f4e97d82d5082af4ee8cbba5c(main ate113c065bbmerged in, including moq-dev/moq#7799'sjitter.rschanges):quest gate just ci origin/main: exit 0. Rust tests: 4,565 passed, 64 skipped. The earlier C-binding failure (moq-c test::raw_track_subscription_options_and_update) was a test bug, fixed by moq-dev/moq#7745.moq-muxlib baseline (cargo nextest run -p moq-mux --lib --no-fail-fast): 2,071 passed, 3 skipped.moq-muxlib run per rule removed. Each had exactly one failure: 2,070 passed, 1 failed, 3 skipped. They ran without the clippywarnings=denywrapper so a knockout's dead code still compiles.stale(judgenever reports stale)jitter::tests::acquisition_drops_timely_arrivals_only_when_read_past_their_deadlineunheard_lag(returns zero)jitter::tests::a_restart_without_an_old_tail_keeps_an_unheard_tracks_delayjitter::tests::a_restart_hearing_every_track_keeps_deadlines_after_the_old_tailquest check --base origin/main: 590 documents ok.Review
Codex via
quest review --base origin/main,gpt-6.1-sol, medium effort, round 1 of a new session. Reviewed head8a6ae9cca18d0b2f4e97d82d5082af4ee8cbba5cagainst2c3235eb23c530325592200d6fafbbcf45fdbf2b: no findings.(Written by Claude Opus 5.5)