-
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
Remain in buffering state until text is buffered #2710
Comments
I notice the TS segments are grey, so the browser is probably caching the segments, so they get downloaded immediately. Since the first TS segment is downloaded quickly, we fetch the second soon. We don't have any scheduling for segments, we just download segments in order as quickly as we can. We also play the video once audio+video is downloaded, so we'll start playing even if we don't have the text available. |
How can I avoid playing without vtt segment? Like add subtitles as required as audio+video. |
I think it's sorta bug, because if text track is enabled and selected, then player ought to wait for a text fragment as well as audio and video. |
This doesn't appear to be a bug to me. We have logic that no stream should be more than 1 segment ahead of any other, and that restriction appears to be working. Your audio doesn't get 10 segments ahead of your video (as it used to once upon a time in an old version of Shaka Player). The same is true for text. The buffering of media (pausing until more is loaded) is done at the level of the media element ( Text does not need to be fetched ahead of audio or video being fetched, it only needs to be processed ahead of audio or video being played. It's possible that your buffering goal (what is fetched ahead of playback) is really close to your segment size. We can't tell what your segment size is, but 10s is surprisingly common still, and that's also our default buffering goal in current versions of Shaka Player. Therefore I would recommend you increase the buffering goal of the player so that what is fetched and processed is further ahead of what is being played. Try this: player.configure('streaming.bufferingGoal', 20); If that doesn't work, try increasing it to 30. Does this help? |
Parameter |
I think it's reasonable to change our buffering logic to also wait for text tracks. We currently manually enter a buffering state when we don't have enough data and only move forward when we have buffered |
Is anyone interested in seeing this implemented? Otherwise the issue will be closed in 7 days. |
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 |
Using hls streams, for example this shaka-demo, you can notice than on seek ts-segments and webvtt-segments don't get loaded evenly.
Expected:
or
That's why sometimes when you seek your hls-streams you could catch your videos without subtitles for a while.
The text was updated successfully, but these errors were encountered: