Have you read the FAQ and checked for duplicate open issues?: Yes
What version of Shaka Player are you using?: v2.3.3
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?: demo
What browser and OS are you using?: Chrome Linux
What are the manifest and license server URIs?:
https://v2-3-3-dot-shaka-player-demo.appspot.com/demo/#asset=//storage.googleapis.com/shaka-live-assets/player-source.m3u8;play
What did you do? Load the content
What did you expect to happen? Play without stuttering/seeking
What actually happened? Gap jumping seeks all the time, causing stuttering
Jumping forward 0.4769218874664318 seconds to catch up with the seek range.
playhead.js:226 Jumping forward 0.22794781498717498 seconds to catch up with the seek range.
playhead.js:226 Jumping forward 0.23987298092652054 seconds to catch up with the seek range.
playhead.js:226 Jumping forward 0.3442899084472515 seconds to catch up with the seek range.
playhead.js:226 Jumping forward 0.17542092942809973 seconds to catch up with the seek range.
playhead.js:226 Jumping forward 0.16156792942808806 seconds to catch up with the seek range.
playhead.js:226 Jumping forward 0.18938678446960466 seconds to catch up with the seek range.
Not present on v2.3.2, but is present in v2.3.3. I expect this was introduced with the fix for #1224. For live HLS, the seek range is 0-width.
See also https://github.com/google/shaka-player/issues/1307#issuecomment-370085868
Fix cherry-picked for v2.3.4.
I am still seeing this bad behavior in v2.3.4.
It can be reproduced by either playing the live "history" stream in HLS, or by playing the DASH version with startTime set to 0 in load().
So it seems to be more about playing at the front of the seek range, rather than in live HLS specifically.
In the DASH version, the repeated seeks stop if I manually seek forward by about one half second: video.currentTime += 0.5.
You can also reproduce in DASH live by pausing, rewinding to the beginning of the stream, letting the playhead fall outside the seek range, then unpausing.
I can also reproduce this problem in DASH live streams. If you have any fixes, I will be happy to test them.
Fix cherry-picked to v2.3.5.
Most helpful comment
You can also reproduce in DASH live by pausing, rewinding to the beginning of the stream, letting the playhead fall outside the seek range, then unpausing.