-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
fix(dash): correct period position calculation #3721
Conversation
I don't think this is the correct fix. |
@TheModMaker Thanks for the review.
, and from the code:
we get the following values on Chrome:
After the fix, we get:
15 segments is the correct value since the declared period duration is PT30.720000S. We tried other solutions, but this one-line change is the least intrusive since we're basically just disregarding anything after the 10th decimal place when getting the number of media segments in a period. |
It would be fine to have segments in the index that don't exist in this case. I think the problem is with the below line where we determine if we have buffered to the end. If we change this to account for a small epsilon, we won't download the segment and end at the correct segment. |
Hello @TheModMaker, The change I have added in this PR however have been thoroughly tested. |
Sorry, we will not be merging this PR. We do not believe that this is the correct fix. The issues we have with this fix are:
I agree with @TheModMaker. We should fix this in StreamingEngine instead. I'll make his suggested fix and create a regression test, then get it up for review as soon as possible. |
Description
Fixes #3717
We have encountered fatal playback failure due to phantom media segment requests caused by small floating points being ceiled in Shaka. This PR fixes the issue by limiting the argument passed to
Math.ceil()
.Type of change
not work as expected)
Checklist:
./build/all.py
and the build passes./build/test.py
and all tests pass