Repository navigation
fix(oot): synchronize intro movies and protect stereo routing - #2170
Merged
ly05010419 merged 1 commit intoNov 14, 2026
Merged
Conversation
Owner
|
已保留作者提交并合入 main,已推送:2801fed7。 本机直接执行生产影片队列代码的 ASan/UBSan 回归通过:同步开启 19,577 项、关闭对照 3,877 项,覆盖 1/8 缓冲、24/30/60/120 Hz 和卡顿。没有重做完整影片游玩或 iOS 真机验收;PR 中的实际影片对齐结果仍归于作者测试。谢谢贡献。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
At roughly 30 rendered FPS, OoT's 60 FPS AV1 movies fell progressively behind their normally playing music and narration. The original 154.234-second Kokiri movie advanced 154.050 seconds of picture timestamps in 300.282 seconds of elapsed time.
Anchor a movie clock at the first accepted picture and discard late presentation images while continuing to decode every AV1 packet. Handle the one-picture output pool OoT actually registers, preserve client-acquired buffer ownership and sync generations, reset the clock on flush, and retain one discarded image so a separate empty EOF packet cannot lose the final picture. Audio timing, game/physics timing and frame-rate settings are unchanged.
The original front-left voice repair is already upstream in df1e321d, after my fork. This PR preserves that implementation and extends its REV15/REV16 regression to reorder active voice records between requests, change gain and stop one voice while inactive ID-zero records remain present.
Validation on Apple M4 / 16 GB, native OoT update 131072:
codesign --verify --deep --strict. Player saves and shader data are unchanged.Verification notes and commands. No game-derived audio, video, screenshots, shaders or saves are included. iOS playback was not tested.