Fix repeated requests for initialization segments #4452
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR will...
Prevent unnecessary requests for the same initialization segment. For live video, merging playlists did not updated non-overlapping fragments. Now, the level-helper will update any non-overlapping fragmentHint or fragments to reference existing initSegment fragments.
Why is this Pull Request needed?
When multiple EXT-X-MAP support was included #3859, live playlists that include EXT-X-MAP may unnecessarily request the same initialization segment multiple times.
Are there any points in the code the reviewer needs to double check?
I'm not super familiar with LL-HLS so it took me a while to figure out I needed to also include the
fragmentHint
in the update check. If there's something else missing with LL-HLS integration let me know and I can work through those issues. I've tested with the LL-HLS test streamI've verified the behavior with some internal non-LL-HLS streams. Additionally the demo LL-HLS stream no longer shows repeated requests. Additionally
npm run test:func
andnpm run test:unit
pass on this branch. Otherwise I don't have a very diverse set of test cases available so if there are other areas that need testing any guidance on those tests would be appreciated.Resolves issues:
#4450
Checklist
Testing: