mirror of
https://github.com/zoriya/v10.git
synced 2026-08-14 18:04:49 +00:00
The window-exit guard in seekToLiveEdge bailed whenever `mediaElement.seeking` was true, to avoid fighting an in-flight DVR scrub-back. But a seek whose target sits behind the window start can never complete — the data has slid out of the window and been evicted — so `seeking` stays true forever and the playhead strands permanently, the very stall the guard exists to rescue. Drop the `seeking` bail. The `currentTime < windowStart` test is itself the precise discriminator: an in-window scrub-back lands at `currentTime >= windowStart` and never trips it, so only a stuck out-of-window seek is repositioned to the live edge. Verified live (Mux sliding-window LL-HLS): repeated seeks to the window start now snap back to the edge within ~1.5s instead of stalling, while mid-window DVR scrub-back still holds. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>