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

feat(HLS): Optimization of LL-HLS with byterange #5319

Merged
merged 3 commits into from
Jun 21, 2023

Conversation

avelad
Copy link
Collaborator

@avelad avelad commented Jun 16, 2023

@avelad avelad added type: enhancement New feature or request component: HLS The issue involves Apple's HLS manifest format priority: P3 Useful but not urgent labels Jun 16, 2023
@avelad avelad added this to the v4.4 milestone Jun 16, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jun 16, 2023

Incremental code coverage: 91.55%

@avelad avelad force-pushed the ll-hls-byterange-optimization branch from e8316c6 to b43b39f Compare June 16, 2023 08:13
@avelad avelad marked this pull request as ready for review June 16, 2023 10:46
@joeyparrish
Copy link
Member

I've read through, but haven't yet understood the change. I'll need more time.

Also, JFYI, Monday is a holiday for Google in the US.

@avelad
Copy link
Collaborator Author

avelad commented Jun 16, 2023

@joeyparrish What this change does is that LL-HLS byterange is processed in the same way that it is done in LL-DASH. With this we achieve more efficiency according to the Akamai paper and what has been tested by me.

lib/media/segment_reference.js Show resolved Hide resolved
if (this.config_.lowLatencyMode && isReadableStreamSupported && isMP4 &&
this.manifest_.type != shaka.media.ManifestParser.HLS) {
(this.manifest_.type != shaka.media.ManifestParser.HLS ||
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Say, it occurs to me. This assumes that a manifest that isn't HLS is DASH, based on the comment above.
But we now have the constant of shaka.media.ManifestParser.MSS. Is this behavior supported by MSS?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this would work for MSS live (in the future)

lib/hls/hls_parser.js Outdated Show resolved Hide resolved
@avelad avelad requested a review from theodab June 17, 2023 16:28
@avelad avelad merged commit 9e6655a into shaka-project:main Jun 21, 2023
15 checks passed
@avelad avelad deleted the ll-hls-byterange-optimization branch June 21, 2023 09:24
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Aug 20, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P3 Useful but not urgent status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants