Variant failover feature doesn't apply to missing (404) segments #4728
Labels
status: archived
Archived and locked; will not be updated
type: bug
Something isn't working correctly
Milestone
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
4.3.0/main
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
main
?Yes
Are you using the demo app or your own custom app?
Yes
If custom app, can you reproduce the issue using our demo app?
Yes
What browser and OS are you using?
Doesn't matter, but Chromium Browser/Firefox, Arch Linux
What did you do?
This can be replicated with this prepared asset using https://github.com/Eyevinn/chaos-stream-proxy to 404 at the segment at 0:35 on the highest bandwidth variant. If you switch the variant manually you can see that it will continue to buffer past that point.
Link to your demo with this asset
What did you expect to happen?
#4189 should activate for 404, or at least there should be a way to configure it to activate for 404.
What actually happened?
Same issue as #4093 (it was closed, but not quite fixed).
tryToRecoverFromError_
from #4189 works great, but it's guarded with conditions that means it won't be used in many cases. Only forHTTP_ERROR
andSEGMENT_MISSING
.shaka-player/lib/player.js
Lines 6033 to 6037 in 0db6070
If a VOD segment is missing and the server responds with 404 it actually means the request was successful, but the status was not. So it results in
BAD_HTTP_STATUS
Maybe shaka.net.HttpPluginUtils.makeResponse could be considered to be the culprit, but I think it's the
tryToRecoverFromError_
condition that is too strict and should also at least optionally includeBAD_HTTP_STATUS
andTIMEOUT
, but maybe other statuses also. Maybe we can add a configuration option for this?Example:
The text was updated successfully, but these errors were encountered: