-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
AV sync issues with HLS in v4.0.0, v4.0.1, v4.0.2, v4.1.0 #4287
Comments
It appears that this won't affect everyone, but if audio & video content is not aligned perfectly, EXT-X-PROGRAM-DATE-TIME code does not correct this as it should. So it could affect anyone whose content doesn't meet some very strict conditions. Based on that, I'm marking it P0. |
Original code to read EXT-X-PROGRAM-DATE-TIME: 89409ce |
After careful analysis, the EXT-X-PROGRAM-DATE-TIME values in the content are being read and used correctly, but the values themselves are incorrect. The content itself is broken. Setting Downgrading to a P1, and I'll work to improve the behavior when |
…-DATE-TIME ignored (#4289) We now have an explicit fallback to sync on sequence numbers if PROGRAM-DATE-TIME is explicitly ignored. This is more robust than relying on whatever happens to be first in the various media playlists. This also refactors how PROGRAM-DATE-TIME is used. The date will now be used to adjust segment reference start times, rather than overriding the time used in StreamingEngine. (This was hard to discover when reading the HLS parser.) Now all HLS sync logic is in the HLS parser. Closes #4287
…-DATE-TIME ignored (#4289) We now have an explicit fallback to sync on sequence numbers if PROGRAM-DATE-TIME is explicitly ignored. This is more robust than relying on whatever happens to be first in the various media playlists. This also refactors how PROGRAM-DATE-TIME is used. The date will now be used to adjust segment reference start times, rather than overriding the time used in StreamingEngine. (This was hard to discover when reading the HLS parser.) Now all HLS sync logic is in the HLS parser. Closes #4287
…-DATE-TIME ignored (#4289) We now have an explicit fallback to sync on sequence numbers if PROGRAM-DATE-TIME is explicitly ignored. This is more robust than relying on whatever happens to be first in the various media playlists. This also refactors how PROGRAM-DATE-TIME is used. The date will now be used to adjust segment reference start times, rather than overriding the time used in StreamingEngine. (This was hard to discover when reading the HLS parser.) Now all HLS sync logic is in the HLS parser. Closes #4287
…-DATE-TIME ignored (shaka-project#4289) We now have an explicit fallback to sync on sequence numbers if PROGRAM-DATE-TIME is explicitly ignored. This is more robust than relying on whatever happens to be first in the various media playlists. This also refactors how PROGRAM-DATE-TIME is used. The date will now be used to adjust segment reference start times, rather than overriding the time used in StreamingEngine. (This was hard to discover when reading the HLS parser.) Now all HLS sync logic is in the HLS parser. Closes shaka-project#4287
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
v4.1.0
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?
demo
If custom app, can you reproduce the issue using our demo app?
N/A
What browser and OS are you using?
Chrome 102 stable Linux
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?
Provided privately, reference b/235504598
What configuration are you using? What is the output of
player.getConfiguration()
?default
What did you do?
Load HLS live stream provided privately.
What did you expect to happen?
AV sync should be in tact.
What actually happened?
AV sync is off by ~6 seconds.
The text was updated successfully, but these errors were encountered: