-
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
Fatal playback failure due to phantom media segment request #3717
Comments
Hello @romsil , thank you for finding the root cause! Would you like to send us a Pull Request? |
@michellezhuogg Yes. I'm now looking into https://github.com/google/shaka-player/blob/master/CONTRIBUTING.md :) |
@michellezhuogg I just submitted the pull request: #3721 Thank you. |
Just an addendum: Before the fix above, the actual values that we get on Chrome are:
After the fix, we get:
|
Thank you! |
Hi there, as Shaka v3.3 is now initially released, this Problem here would be our biggest issue. Thank you very much and btw - Happy New Year :) |
This issue has not been fixed yet. The fix in PR #3721 was not merged due to some debate that was never resolved. I'll give it another look now. |
If a rounding error in the DASH parser created an extra "phantom" segment that extended just beyond the presentation duration, this was causing a playback failure. Now StreamingEngine will tolerate these small offsets and end playback at the correct time. Fixes #3717 Change-Id: I00780a664aff4148b6b1046d8322a68da745de40
If a rounding error in the DASH parser created an extra "phantom" segment that extended just beyond the presentation duration, this was causing a playback failure. Now StreamingEngine will tolerate these small offsets and end playback at the correct time. Fixes #3717 Change-Id: I00780a664aff4148b6b1046d8322a68da745de40
If a rounding error in the DASH parser created an extra "phantom" segment that extended just beyond the presentation duration, this was causing a playback failure. Now StreamingEngine will tolerate these small offsets and end playback at the correct time. Fixes #3717 Change-Id: I00780a664aff4148b6b1046d8322a68da745de40
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.2.0
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
master
?Yes
Are you using the demo app or your own custom app?
Custom app.
If custom app, can you reproduce the issue using our demo app?
I believe so. It is difficult to reproduce the issue since it only happens on certain ads on our player.
What browser and OS are you using?
Chrome, macOS
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?
Our manifest URIs are short-lived, so I am pasting the period declaration instead:
See notes below on our investigation results.
What configuration are you using? What is the output of
player.getConfiguration()
?Mostly default. See attached screenshot for
player.getConfiguration()
output:What did you do?
I just let the asset play until it reaches the ad period.
What did you expect to happen?
Playback will continue with no fatal error.
What actually happened?
Shaka makes a network request to media segment
TK_00000015.m4f
.Based on the period declaration for the audio Adaptation Set, the media segments from
TK_00000000.m4f
toTK_00000014.m4f
should have been enough. See attached screenshot of my computation.We investigated the issue and we think this is caused by small floating points being ceiled in Shaka. We have patched Shaka below to fix the issue.
It's a small one-line fix but it's causing playback failure.
The text was updated successfully, but these errors were encountered: