Prepare paused PCM seeks before audible resume - #465
Draft
tamashi095 wants to merge 9 commits into
Draft
Conversation
This was referenced Sep 7, 2026
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.
Paused seeks could acknowledge a new generation while old PCM still occupied the engine and shared queues. Resuming could then discard those blocks and underrun before target PCM arrived. The web host now applies an admitted source seek on its exclusive consumer without rendering or advancing time, and
EngineFeed.prepareSeek()awaits that preparation while the AudioContext is suspended. Callers can refill current-generation PCM before audible resume.The existing feed control port preserves exact generation/frame/epoch identity, typed refusal, supersession, close and timeout behavior. Rust preparation remains bounded and allocation/free-free; native queued-seek semantics and the public web ABI are unchanged. This PR is stacked on
codex/dx-semantic-writer.Validation: the old full-queue first-quantum discriminator is RED; canonical packed Chromium preparation is GREEN with exact first target planes, unchanged suspended clocks and zero underruns. Focused Rust/SDK tests and allocation checks pass. Final ordinary qualification33962335128 passes every job at777fb0ef, including SDK package, canonical artifacts, and Chromium/Firefox/WebKit check-matrix with mutation proofs. Dedicated independent Astra medium review: PASS. The reviewed immutable SDK archive retains source175755e9 and SHA2560df6ce51f2771c246f0b00932199bcc20c85a2d10e371e99f247eff9d206c906; adapter/app adoption is separate.
Closes #457.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.