Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions quest/m0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ remain and no release waits on them.
- [CI host](/quest/m0/ci-host.md) - the maintainer brings up the spare desktop as the `moq-ci` and `moq-gpu` runner host
- [Draft-22 media on 0.17](/quest/m0/release-22/README.md) - a 0.17.x with the LOCATION_FILTER and FIRST_OBJECT fixes and moq-noq 1.3.4, before Seattle
- [FFI publisher stall](/quest/m0/ffi-publisher-stall.md) - every Go, Python, and C++ publisher cell passes reliably with the serve budgets, and a cell fails when a connection idles out
- [Paused spinner](/quest/m0/watch-paused-spinner.md) - the watch buffering spinner never covers the paused play button, so Interop's resume step can click it
- [Check base](/quest/m0/check-base.md) - `just check` diffs against the PR's base whatever the local branch tracks, so scoped checks stay scoped
- [web-transport releases the qmux fixes](/quest/m0/qmux-credit-upstream.md) - waiting on moq-dev/web-transport#412 and #413 to merge and ship, which qmux credit bumps to
- [qmux credit](/quest/m0/qmux-credit.md) - qmux returns connection credit for dropped and stopped streams and delivers its close frame, on both lines
Expand Down
22 changes: 22 additions & 0 deletions quest/m0/watch-paused-spinner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# [XS] The watch buffering spinner never covers the paused play button

## Goal

While `<moq-watch>` is paused, its buffering indicator stays hidden, so the
centre play button is always clickable, and Interop's resume step never times
out on it.

## Plan

Found in #5174 (2026-10-10): in Interop run 38013145379 the `cpp -> js` cell
failed because, after pause, audio stalling raised the buffering spinner
(`js/watch/src/ui/components/buffering-indicator.ts`) over the play button,
and the harness's resume click timed out. Planned in m0, decided 2026-10-10,
because it reddens Interop on unrelated PRs.

Buffering is not a meaningful state while paused: hide the indicator whenever
playback is paused, and show it again only once playback resumes and still
stalls. Add a browser test that pauses during an audio stall and clicks
resume. No harness workaround such as clicking elsewhere or waiting longer.

Public API: none. Wire: none.
1 change: 1 addition & 0 deletions quest/m1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,3 +198,4 @@ ladders.
- [Import catalog drop](/quest/m1/import-catalog-drop.md) - moq-cli import never drops a catalog producer without finishing it
- [JS restart keeps the request](/quest/m1/js-restart-keeps-request.md) - a resolved `@moq/net` request survives a Restart, as in Rust
- [WebGPU on Safari](/quest/m1/webgpu-safari.md) - the WebGPU renderer is verified on Safari 26 for macOS and iOS
- [A/V sync across a break](/quest/m1/watch-break-av-sync.md) - `@moq/watch` never plays pre-break audio out of sync with pre-break video
23 changes: 23 additions & 0 deletions quest/m1/watch-break-av-sync.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# [S] A player stays in sync across a demand break

## Goal

After a demand break (the viewer leaves and returns),
`@moq/watch` never plays pre-break audio out of sync with pre-break video: it
either plays them together or jumps straight to live.

## Plan

Found in #5173 (2026-10-10): in one reattach sample of `just test media`,
after the break the player played the old pre-break audio about 1.6 s apart
from the old video before jumping to live. Decided 2026-10-10: plan it as a
player bug.

Reproduce in the media fixture's reattach case, measuring the audio-video
offset of the first frames presented after the break. Find whether audio and
Comment thread
coderabbitai[bot] marked this conversation as resolved.
video take different groups from the relay after the break (the relay hands
the reachable pre-gap GOP by design, per #4914 and #5158) or the player's
sync re-anchors one track and not the other. Fix it at that cause, and assert
the offset in the media check.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

Public API: none expected. Wire: none.
Loading