-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 fails if 404 is returned for a segment #1211
Comments
Your manifest implies that segments are available for all representations for the entire duration of the Period. This means that you need to make available mp4 fragments with valid timing information and samples for the entire timeline, even if they contain no subtitles. Intentional 404s are precluded by this, I think. Clearly 404s do occur and, whilst MPEG and DASH-IF do not give any indication of what to do, the DVB DASH profile [1] does indicate player recovery behaviour in this case, with different behaviours based on the presentation type. Simply not displaying subtitles if they return 404 might be an option since these are handled by the player and it could simply fill in the gaps. However, the HTMLMediaElement timeline cannot advance without valid media for all sourcebuffers so simply not presenting these isn't going to work. |
Possibly a duplicate of #651 |
This is very related to #651. Let me ref this issue I will close . thanks for the report @sandersaares |
Playback of http://media.axprod.net/TestVectors/v6-Clear/Manifest_1080p.mpd stops before the presentation ends, at 09:26 with the following in the log:
Using latest development branch, tested on IE 11 and Firefox 43.
Seeking past this timestamp (e.g. to 10:52) seems to work fine - I see the same log messages and 404s but playback works without issues.
Of particular interest in this presentation is that subtitle streams end significantly earlier before the other streams (e.g. representation 11 has only 142 segments worth of data). I believe audio and video might also not be perfectly aligned with regard to the number of segments.
My expectation is that any segments that are 404 simply are not displayed, without terminating playback.
Whether segments that return 404 are appropriate overall is a complex issue. I raised the topic in DASH-IF and privately with some peers last year and the overall opinion seemed to be that ideally DASH presentations should not contain any segments that return 404 (though nothing in DASH or DASH-IF IOP explicitly forbids it).
The practical reality is that such content does exist and encoders/packagers do create such content. Consider also the case of live streams where missing segments are a very real thing that can happen simply because some file transfer goes wrong and the segment never arrives in the right location without anyone finding out. Not ideal but it does happen and such behavior simply stopping all players is not desirable.
I would thus expect all players to simply not present any 404-returning segments but to continue playback regardless (and resume playback of the interrupted stream once a future segment is successfully retrieved). Playback of the presentation referenced above demonstrates a deviation from this expectation.
The text was updated successfully, but these errors were encountered: