mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
bufferedAnchorFor paired the newest appended segment with maxBufferedEnd, but appendSegment streams one appendBuffer per chunk, so the newest segment's bytes are only partway into `buffered` mid-append — mis-reading its native start by up to a full segment, skewing the derived anchor ~2s and shifting the whole model timeline. seg0 went negative on a window anchored at the origin, so setLiveSeekableRange threw every reload and back-seek stalled in the gap. Pin to the trailing edge instead (earliest settled segment + minBufferedStart), which only moves on eviction, and exclude partial (still-appending) segments — the actor already flags them. Intermittent and live-only; exposed by DVR/EVENT growing windows, masked at the live edge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>