Skip to content
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

Request playlist with part 0 #3571

Closed
kanongil opened this issue Mar 5, 2021 · 4 comments · Fixed by #3784
Closed

Request playlist with part 0 #3571

kanongil opened this issue Mar 5, 2021 · 4 comments · Fixed by #3784

Comments

@kanongil
Copy link
Contributor

kanongil commented Mar 5, 2021

Is your feature request related to a problem? Please describe.

When hls.js requests low latency playlist updates using blocking, it doesn't properly advance the msn and part when a segment is complete. Instead it requests a non-existing future part, and relies on the server to handle it (as it should per spec).

Describe the solution you'd like

When a playlist update indicates that a segment is complete (when the final segment contains a duration and url), advance the next update msn and set part to 0.

Describe alternatives you've considered

Keep it as is. This is a valid way to do it, but it reduces potential caching benefits in the CDN.

@robwalch robwalch added this to To do in Low-Latency HLS (LL-HLS) via automation Mar 5, 2021
@robwalch
Copy link
Collaborator

robwalch commented Mar 5, 2021

Great suggestion!

Hopefully, playlist updates publish the last part and EXTINF duration and URL at the same time. I got mixed results with the sample streams I've been testing with. Knowing when we have the last part and can expect new parts would be really useful, and we can simply check part.fragment.relurl to determine if the parent fragment is complete.

@robwalch robwalch added this to the 1.0.0 milestone Mar 5, 2021
@robwalch
Copy link
Collaborator

robwalch commented Mar 18, 2021

Here are links to the implementation:

https://github.com/video-dev/hls.js/blob/v1.0.0-rc.4/src/controller/base-playlist-controller.ts#L140
up to this.loadPlaylist(new HlsUrlParameters(msn, part, skip));

@robwalch
Copy link
Collaborator

and lastPartIndex getter:

get lastPartIndex(): number {

@robwalch
Copy link
Collaborator

@robwalch robwalch moved this from To do to Done in Low-Latency HLS (LL-HLS) Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

2 participants