mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
liveWindowFromState keyed the live window on the *selected* timeline-bearing track, so when an ABR/user switch briefly left the newly-selected rendition unresolved (a shell, no segments), the window blinked to null. That flipped seekToLiveEdge out of `live` and stalled the seekable-range writer. The live window is a presentation-level property — all renditions are time-aligned and share the anchor — so fall back to any resolved track of the timeline-bearing type when the selected one isn't resolved yet, rather than returning null. A deselected track's window may trail live by up to one reload during the switch gap; the selected track's fresh window resumes the moment it resolves. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>