-
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
[multi-period DASH] Playback stall when subtitle stream is not available in the 2nd period #2957
Comments
is there any comment? |
I can reproduce. Oddly, we're stalling due to missing video segments. We don't stop when we don't have enough text buffered (see #2710), but we're stopping because we don't have enough video buffered. |
You need to pad the tears of steel content as it has no subtitles at the end, so for ttml that would mean empty or minimal documents, and for webvTT segments with VTTEmptyCue, all embeddied in segments. I created an issue in CMAF group for this to make the community more aware of the need of subtitle padding in CMAF, as these tracks are sparse but CMAF is not, so if possible i would recommend fixing the content to account for this and check then if it plays. Typically gaps in content are not recommended (not allowed even in cmaf) and this also hold for timed/text subtitles |
This is about multi-Period content, not for gaps within a Period. Different Period elements can have different stream sets and you're allowed to have text in only some of them. Another idea I just had is that we may be delaying downloading the video segments because we don't have text segments. We try to keep audio and video aligned by not streaming audio too far ahead of video, and we may do this for text too. So depending on how we handle Period flattening, if we don't have text segments, we may wait to download the video segments until we buffer text. |
This is still an issue in v3.0.8. |
In the case of multi-Period content, now we won't get into buffering states when the last Period doesn't have a text stream in it. Fixes #2957 Change-Id: I16e54e3cd575a890a87f6b12d85293e546103d47
Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
v3.0.5
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from
master
?not tried
Are you using the demo app or your own custom app?
demo app
If custom app, can you reproduce the issue using our demo app?
What browser and OS are you using?
Chrome 86.0.4240.111
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
https://storage.googleapis.com/ope-cf-build-dev/TearsOfSteel/manifest.mpd
This manifest is modified according to the "Clear, multi-Period" example provided in Shaka player demo.
The subtitle streams in the 2nd period are all removed.
What did you do?
Play the asset and select any subtitle stream.
Drag to 00:11:50 and wait for playback transitioned to the 2nd period.
What did you expect to happen?
Player could continue to play the 2nd period even it does not contains any subtitle stream.
What actually happened?
Playback stall after a few seconds when player is transitioned to the 2nd period.
This problem doesn't reproduce in v2.5.17.
Suspect it is related to the update in v3.0+ as mentioned in this #2887.
The player was stuck in waiting for the subtitle segment in the next period, which doesn't exist.
The text was updated successfully, but these errors were encountered: