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

Fix handling of segments at the discontinuities that do not start with a keyframe #5659

Merged
merged 1 commit into from
Jul 14, 2023

Conversation

robwalch
Copy link
Collaborator

@robwalch robwalch commented Jul 14, 2023

This PR will...

  • Prevent backtracking on first segment in discontinuity
  • Use gap skipping to handle gap jumping prevent loop loading when large gaps are present in segment/disco start
    • Marks bad segments as GAP segments to avoid loop loading
    • Clears the gap property if the fragment loader later needs to reload the fragment after the buffer was cleared and the fragment had no 'GAP' tag.

Why is this Pull Request needed?

Streams with segments at discontinuity sequence starts that are missing keyframes result in large gaps. HLS.js should not loop load when encountering this scenario.

Are there any points in the code the reviewer needs to double check?

Resolves issues:

Fixes #5629

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

@robwalch robwalch added this to the 1.5.0 milestone Jul 14, 2023
…h a keyframe

Fixes #5629

- Prevents backtracking on first segment in discontinuity
- Uses gap skipping to handle gap jumping prevent loop loading
@robwalch robwalch force-pushed the bugfix/gap-on-discontinuity branch from b6af72f to b58f95c Compare July 14, 2023 02:07
@robwalch
Copy link
Collaborator Author

@mattzucker,

Let me know if this resolves #5629 for you.

@robwalch robwalch modified the milestones: 1.5.0, 1.4.9 Jul 14, 2023
@robwalch robwalch merged commit 6b65bf3 into master Jul 14, 2023
16 checks passed
@robwalch robwalch deleted the bugfix/gap-on-discontinuity branch July 14, 2023 04:09
robwalch added a commit that referenced this pull request Jul 14, 2023
…h a keyframe (#5659)

Fixes #5629

- Prevents backtracking on first segment in discontinuity
- Uses gap skipping to handle gap jumping prevent loop loading

(cherry picked from commit 6b65bf3)
robwalch added a commit that referenced this pull request Jul 14, 2023
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.

Playback stuck on segment with missing keyframe
1 participant