Skip to content

Fix audio clock continuity across extended guest frames - #70

Merged
mstan merged 4 commits into
mainfrom
fix/frame-audio-clock-continuity
Sep 11, 2026
Merged

Fix audio clock continuity across extended guest frames#70
mstan merged 4 commits into
mainfrom
fix/frame-audio-clock-continuity

Conversation

@mstan

@mstan mstan commented Sep 11, 2026

Copy link
Copy Markdown
Member

Long guest loaders can advance the SPC beyond the next host frame timestamp. Subsequent short iterations then produce no PCM until the frame counter catches up, causing audible gaps. Add an opt-in carried frame clock and synchronize interpreted work in periodic absolute-time batches so that elapsed time is counted once. Hosts adopting the API pace each iteration using its reported duration. Legacy hosts retain current main's timing policy and startup catch-up.

Add missing-output telemetry and regression coverage for a 40-frame loader followed by 45 short iterations, bootstrap progress, and suppression of duplicate relative advancement.

Validation:

  • Merged with current main; shared APU test passes, interpreter 41/41 and bridge 99/99 checks pass; SM Release CTest 6/6 passes.
  • The paired SM integration at framework revision e2c75fd passed six consecutive production doorway crossings and one debug crossing with zero missing/dropped PCM and normal post-exit speed; owner confirmed the result.
  • SM's release keeps that validated ancestor revision. Taking all newer framework-main changes into its older title driver exposed a separate boot/frame-loop compatibility failure during integration testing; that broader upgrade is tracked separately and is not included in the SM release.

Beads: beads-8wg.2.33; paired game fix: beads-8wg.6.5.

@mstan
mstan merged commit 43e857d into main Sep 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant