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 LL-HLS playlists with _HLS_part param starting at 0 for next sn #3784

Merged
merged 1 commit into from Apr 16, 2021

Conversation

robwalch
Copy link
Collaborator

@robwalch robwalch commented Apr 16, 2021

This PR will...

  • Request LL-HLS playlists with the _HLS_part param set to 0 and _HLS_msn incremented when the last sn matches the segment of the last part.

Why is this Pull Request needed?

The current implementation always requests the last part index + 1, which depends on servers responding with part 0 as per this entry in https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-08#section-4.4.6.2

If the Client requests a Part Index greater than that of the final
Partial Segment of the Parent Segment, the Server MUST treat the
request as one for Part Index 0 of the following Parent Segment.

The downside is that also results in additional caching on the edge since you could have requests for something like _HLS_msn=1&_HLS_part=4 which must return the same thing as _HLS_msn=2&_HLS_part=0. By detecting that the last part and last segment match, we know there are no more parts for the current sn, and can increment sn and reset _HLS_part to 0 resolving #3571 and #3771.

Resolves issues:

Resolves #3571 #3771

Checklist

  • changes have been done against master branch, and PR does not conflict

@robwalch robwalch added this to the 1.0.2 milestone Apr 16, 2021
@robwalch robwalch merged commit d57ec50 into master Apr 16, 2021
@robwalch robwalch deleted the bugfix/ll-hls-playlist-zero-index-part-requests branch April 16, 2021 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Request playlist with part 0
1 participant