-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Playback stalled after using a "skip back" feature #3089
Comments
I think I see the bug. When we do an append, we cache the video's current time and pass that around. As part of the append, we evict data behind the playhead according to So it is possible that, while downloading the segment, we seek backward. The seek happens immediately and we detect it as a buffered seek and do nothing. Then after the download is done, we evict based on the old time. This evicts the time around the current time and we don't re-download those segments. You could work around this by setting |
This is actually fairly easy to reproduce on Chrome on desktop. Just start in the middle of the video and use |
I am able to reproduce fairly easily with v3.1.1, but cannot reproduce on the latest release (v3.2.1). Can you try with the latest version to see if it has been fixed? |
Can you test with v4.3.3? Thanks! |
Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including |
I'm looking at an issue on a 2018 LG TV. I suspect it's related to "buffer trimming" by the OS when there's more data in the SourceBuffers than memory allows (the OS had to reclaim some resources). I guess it could be Shaka doing an explicit
remove()
?The problem is happening when I use a "skip back" button in our UI. You know the type of "quick review" feature that seeks back something like 30 seconds when you want to quickly repeat what just played.
What I'm seeing is that playback jumps back as expected, and plays OK for a short time, but then playback stops. In the logs, I see a "waiting" event from the video element because there's no buffered data at currentTime.
When it happens playback doesn't resume. To recover we must quit the player and restart.
It's an intermittent issue, but here's what I've extracted from logs for one instance when it happened:
IMO, this is primarily an issue with the underlying webOS player pipeline. It appears to be making poor choices when it comes to choosing data to discard! However, I'm wondering if you'd expect Shaka to attempt to reload data around the video element's currentTime when this type of "buffer trimming" occurs on resource limited devices.
The text was updated successfully, but these errors were encountered: