mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
A track reload read its `previous` (the prior window it carries the timeline forward from) before the playlist fetch await, then parsed against that stale snapshot after. When anchor-live-tracks established the shared live anchor during the fetch — stamping every track's timeline via positionAllTracksToAnchor — the in-flight reload wrote a window built on the pre-stamp (un-anchored) snapshot, clobbering the stamp. Anchoring is pin-once, so the track was never re-corrected: its model timeline sat seconds off the anchor and the loader stopped fetching it near currentTime. Observed live on Mux LL-HLS as the selected video track stranded ~hundreds of seconds off the anchor while its un-reloaded ABR-shell siblings stayed anchored — video never buffered, playback stalled. Re-read `previous` from a fresh peek after the fetch and parse against that. With no yield between the re-read and the write, no concurrent writer can interleave, so the stamp is carried forward instead of lost. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>