-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Implement support for LL-HLS #EXT-X-PRELOAD-HINT part loading #3988
Comments
We need this! When? |
Any update on this? |
Waiting on the author to file the PR: master...feature/preload-hint |
I have run the code in this PR against a proprietary low-latency live stream, and I am happy to report that my LL stream ran well. While this PR did not resolve the stalling issues I reported in #6350, I did not observe any additional errors or latency. I can confirm that download of PRELOAD-HINT part begins as soon as the new manifest is fetched and also, quite importantly, a bug in my encoder that could potentially affect LL playback did not have a negative effect on the hls.js performance: For example, my encoder would generate this playlist:
but the next time manifest is updated, the encoder would return
The problem here is that for the first playlist the PRELOAD-HINT for hls.js handles this case correctly: it just discards cashed data for When the same part is advertised as a part for fragment Many thanks to @iamboorrito for the robust code! |
Adding support for Hinted Part and Map Preloading could reduce LL-HLS latency by an additional part duration. This feature was left out of v1.0 because of timing and the complexity involved in dropping hinted parts in situations that still need to be cataloged and tested. We also lacked multiple MAP support which has not landed in v1.0.4.
Feature summary and resources:
EXT-X-PRELOAD-HINT
tags and attributes:#EXT-X-PRELOAD-HINT:TYPE=PART,URI=”part.m4s”,BYTERANGE-START=0,BYTERANGE-LENGTH=4044
#EXT-X-PRELOAD-HINT:TYPE=PART,URI=”part.m4s”,BYTERANGE-START=0
a. If part update matches preload-hint request/response push update
b. If part update invalidates preload-hint drop request/response
https://developer.apple.com/wwdc20/10229
https://developer.apple.com/wwdc20/10232
The text was updated successfully, but these errors were encountered: