You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: Improve boundary gap mitigation at DASH period transitions (#8344)
With resetting MSE on boundary crossing, we might seek into a gap. This
would cause MSE not to reset properly, and playback will stall. The
following changes are made:
- We rely on `seeking` to check if we need to start the boundary timer.
The timer assumes we will cross a boundary in a short period of time,
and is built to handle edge cases like misalignment & subtle gaps. We
first relied on `seeked` but that event might never come when MSE does
not reset. Thus seeking into a gap near a boundary end would have never
spawned the timer in the first place, leaving the player endlessly
stalling.
- When crossing a boundary, the MSE resets but never completes (as
explained earlier). In this case, the timer will advance the playhead.
However, due to the incomplete MSE reset, the video element remains
paused. Since the previous state was paused, playback does not resume
automatically after crossing the boundary. I now keep a variable that
indicates we need to resume playback when MSE reset completes.
0 commit comments