Skip to content
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

Closed
adrianleung815 opened this issue Nov 2, 2020 · 5 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@adrianleung815
Copy link

adrianleung815 commented Nov 2, 2020

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.

@adrianleung815
Copy link
Author

is there any comment?

@TheModMaker TheModMaker added type: bug Something isn't working correctly and removed needs triage labels Nov 12, 2020
@TheModMaker TheModMaker added this to the v3.1 milestone Nov 12, 2020
@TheModMaker
Copy link
Contributor

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.

@RufaelDev
Copy link

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

@TheModMaker
Copy link
Contributor

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.

@joeyparrish
Copy link
Member

This is still an issue in v3.0.8.

@ismena ismena assigned TheModMaker and unassigned michellezhuogg Feb 18, 2021
joeyparrish pushed a commit that referenced this issue Feb 25, 2021
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
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 20, 2021
@shaka-project shaka-project locked and limited conversation to collaborators Apr 20, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

6 participants