Back-jumping of playhead in Chrome
See original GitHub issueHave you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
v2.5.0-beta2
Can you reproduce the issue with our latest release version?:
Yes
Can you reproduce the issue with the latest code from master?:
Yes
Are you using the demo app or your own custom app?:
custom
If custom app, can you reproduce the issue using our demo app?:
python throws an error when compiling demo app…)
What browser and OS are you using?:
Win 7 Professional/Chrome 71.0.3578.98 (64bit)
What are the manifest and license server URIs?:
sent by email shaka-player-issues@google.com
What did you do?
play a HLS stream
What did you expect to happen?
no freezes & back-jumping of playhead
What actually happened?
Flushing media pipeline due to stall inside buffered range
Playhead past end.
Moving playhead... currentTime=77231.943309 targetTime=77227.80437779427
Playhead in safe region or in buffered region.
Seek to 77227.804377
(all): seeked: buffered seek: playheadTime=77227.80837774277
(It is on Chrome & Opera, on Firefox no bugs) the player jumps back from time to time, w\o any defined intervals. There is no such behavior in the previous release v2.4.5
Besides that jumping, player often stops for half a second and shows the loader. This happens thereabouts of fetchAndAppend_ moment (and that was in v2.4.5)
Issue Analytics
- State:
- Created 5 years ago
- Comments:5 (4 by maintainers)

Top Related StackOverflow Question
Here’s a snippet of what we found in
chrome://media-internals:From Chrome’s internal logging, it appears that something is wrong with the media which causes these stalls. These are different from a buffering event, because we are inside a buffered region at the time. The playback pipeline stalls, possibly related to the “Large timestamp gap detected” warning message.
I would consult with the encoder vendor and see if you can resolve this with them. There is nothing obviously wrong with Shaka Player. We are doing our best to recover from a bad situation that we can’t directly control (small seek range, stalled browser).
@Kogoruhn I believe I am now seeing what you are talking about using:
I saw our stall detection logic firing. Out of curiosity, I forces it to wait even longer before kicking in. Doing this, the video was able to resume without stall detection’s intervention, but remained in a stall for longer.
When looking at the “Jumping forward…” behaviour, it appears that the seek window is only 3 seconds. That is pretty small. The player keeps falling behind and needing to jump forward. Every now and then, the player gets too far ahead which causes a visual stall. I played with how the player handles falling behind and getting ahead, but in the end a 3 second window looks like it is too small for the player.
The player is doing its best to play the content, but it appears that a 3 second seek window may be too small.
To make sure what I found is accurate, I will have @joeyparrish look at what I found.