diff --git a/quest/m0/README.md b/quest/m0/README.md index 3d34c96..7136580 100644 --- a/quest/m0/README.md +++ b/quest/m0/README.md @@ -100,6 +100,7 @@ repository. - [Web studio](/quest/m0/web.md) - the full studio in wasm on WebGPU and WebCodecs, served from this repository - [Virtual camera](/quest/m0/vcam/README.md) - the program or a published scene exposed as a system camera on Linux, Windows, and macOS - [Browser sources on the GPU under Mesa](/quest/m0/cef-headless.md) - shared-texture pages paint on Intel and AMD under Wayland, and a page that cannot paint fails loudly +- [A replay's sound plays with its pictures](/quest/m0/replay-av-sync.md) - replay sources write a bus latency ahead, as media and broadcast sources do - [The Apple signing identity is available](/quest/m0/signing.md) - the Apple credentials packaging and the macOS camera need; Windows ships unsigned - [Packaging](/quest/m0/packaging.md) - a signed macOS app, a Windows installer, and a Flatpak for Linux - [The persistable portal restore token is pinned](/quest/m0/pin-portal-token.md) - moq-video's restore token, for Wayland sources diff --git a/quest/m0/replay-av-sync.md b/quest/m0/replay-av-sync.md new file mode 100644 index 0000000..b3d5a39 --- /dev/null +++ b/quest/m0/replay-av-sync.md @@ -0,0 +1,21 @@ +# [S] A replay's sound plays with its pictures + +## Goal + +A replay source's sound plays in step with its own pictures in every output +(program, published scenes, recordings, and Listen), instead of a bus +latency (50 ms) behind them. This is about replays at normal speed; a slowed +replay stays silent, as it is today. + +## Plan + +From [moq-dev/studio#93](https://github.com/moq-dev/studio/pull/93), picked +2026-11-07 (maintainer away under /afk, recommended option), m0 by the rule +that fixes join m0. + +#93 moved media file sources to write their sound a bus latency ahead +through `playout::Writer`, with their pictures handed over at the same lead +and shown when due. Replay sources still write their sound when it is due, +so the bus mixes it 50 ms late. Apply the same fix (a replay has no loop to +handle) and test it the way #93's `a_media_files_sound_plays_with_its_pictures` +does.