mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
Make a complete VOD reach native `ended` (and loop) reliably even when audio and video tracks end a few ms apart: 1. `end-of-stream` reactor gains LAST_SEGMENT_REACHED_SLACK (0.5s) on the "playhead reached the last segment" gate — a tiny final segment plus Chrome's audio-clock freeze otherwise deadlocks endOfStream(). 2. New `recover-end-stall` behavior: on `waiting`, if the MediaSource is 'ended' and the playhead is within endStallNudgeWindow (0.2s) of the reachable buffered end (getMinBufferedEnd over the SourceBuffers), nudge currentTime = duration to force native ended. Event-driven; inert for live / clean-ending streams. ADR: internal/decisions/end-of-stream-av-skew-recovery.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>