docs(quest): fold #3946's tune-in design and repro into its quest - #4000
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 10 minutes. View limit detailsLimit details: You’ve used all 4 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
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 |
Recommendation: MERGEPositive improvement? Yes. #3946 is stuck behind the play harness / #3966, so folding its chosen tune-in design and repro shape into the quest unblocks planning without waiting on that stack. The old open A/V alternatives are replaced with a concrete policy (encode-buffer for Worth the complexity? Yes — and there is almost none. One markdown file, +15/−14, size bump Different approach? Keeping #3946 open as a draft until prerequisites land (the PR's own alternative) would leave the design knowledge stranded on a blocked branch. Capturing it on the quest is the better split: design + test intent land now; implementation stays on #3946 / follow-ups. Nits (non-blocking):
Otherwise this is a clean docs fold. Merge it. This is an automated review, not the maintainer's decision |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3d318d8d36
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Chosen A/V policy: buffer encoded frames for the whole `max_age` window, | ||
| decode only a few ahead of presentation, and evict the oldest decoded frame | ||
| when that small queue fills. Video keeps observing the live edge without moving |
There was a problem hiding this comment.
Preserve future-due frames when the decoded queue fills
With a playout delay longer than the small decoded queue's media span, the decoder can fill that queue while every frame is still scheduled in the future. Unconditionally evicting its oldest entry then discards the next frame that should be presented and can produce repeated jumps during normal catch-up or decoder bursts. Keep this queue backpressured while the independent encoded reader continues draining, or restrict eviction to frames that the current anchor says are already past due.
Useful? React with 👍 / 👎.
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. |
Problem
#3946 carries only a red regression test for the
moq playtune-in stall, and the quest now waits on the play harness (which waits on #3966), so nothing there can land yet.Approach
Record #3946's chosen design in
quest/m1/play-tunein-backpressure.md: buffer encoded frames for the wholemax_agewindow, decode a few ahead, evict the oldest decoded frame when that queue fills. Note the repro's shape and that it stays on #3946's branch for reuse. Resize the quest to[M], since the decoder split is now in scope.Impact
Alternatives
Keep #3946 open as a draft until its prerequisites land.
Follow-ups
None.
(written by Claude Opus 5.5)
🤖 Generated with Claude Code