web: keep moq-watch muted until user gesture

This commit is contained in:
every.channel 2026-02-24 23:24:47 -08:00
parent ad81b9791a
commit 5a28a24294
No known key found for this signature in database
2 changed files with 4 additions and 19 deletions

View file

@ -9,18 +9,16 @@ Live browser playback currently prioritizes canvas rendering. Audio can fail on
In the web watcher mount path:
1. Render live playback with a `<video>` child in `<moq-watch>` first.
2. Start muted for autoplay compatibility, then unlock audio on first user gesture by:
2. Start muted at the watcher signal layer for autoplay compatibility, then unlock audio on first user gesture by:
- forcing backend `muted=false`, `volume=1`,
- toggling paused state to trigger resume,
- unmuting the `<video>` element.
3. If `<video>` playback stalls during startup, automatically fall back to canvas rendering.
## Rationale
- Preserves the `<video>` UX target while handling browser autoplay constraints explicitly.
- Avoids total playback failure by retaining a tested canvas fallback path.
- Keeps changes local to app wiring without forking upstream MoQ player internals.
## Reversibility
- Remove the fallback timer and unlock wiring to return to a fixed rendering mode.
- Remove the unlock wiring (or return to canvas renderer) to restore prior behavior.