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: Fix HLS lazy-loading with DRM #4646

Merged

Conversation

joeyparrish
Copy link
Member

Now that DRM info is only parsed after playback has begun, the manifest parser needs to communicate back to the other components that new DRM info is available after lazy-loading a playlist.

Closes #4622

Now that DRM info is only parsed after playback has begun, the
manifest parser needs to communicate back to the other components that
new DRM info is available after lazy-loading a playlist.

Closes shaka-project#4622
@joeyparrish joeyparrish requested review from avelad and theodab November 2, 2022 18:47
@joeyparrish
Copy link
Member Author

New test cases to follow.

@avelad avelad added type: bug Something isn't working correctly component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release labels Nov 2, 2022
@avelad avelad added this to the v4.3 milestone Nov 2, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Nov 2, 2022

Incremental code coverage: 84.38%

avelad
avelad previously approved these changes Nov 2, 2022
@avelad
Copy link
Member

avelad commented Nov 2, 2022

Tested locally and it works fine

theodab
theodab previously approved these changes Nov 3, 2022
@avelad
Copy link
Member

avelad commented Nov 3, 2022

@joeyparrish This fix does not interfere with the development of #917, does it?

Note: the stream of the issue has EXT-X-SESSION-KEY

@joeyparrish
Copy link
Member Author

@joeyparrish This fix does not interfere with the development of #917, does it?

I don't think it will.

@joeyparrish joeyparrish dismissed stale reviews from theodab and avelad via ba4445a November 4, 2022 02:40
@joeyparrish
Copy link
Member Author

Some additional expectations added to existing tests.

@avelad
Copy link
Member

avelad commented Nov 4, 2022

Incremental code coverage: 84.38%

The coverage is low, @joeyparrish do you want increase it?

@joeyparrish
Copy link
Member Author

Incremental code coverage: 84.38%

The coverage is low, @joeyparrish do you want increase it?

The test changes just added newDrmInfo checks at the level of the HLS parser, but the callback for newDrmInfo inside Player is uncovered. In fact, basically none of the callbacks in the manifest parser's playerInterface are covered by tests. I think this is because when we run playback tests that exercise Player, we're using a fake manifest parser that doesn't use that interface at all.

The callbacks in the ManifestParser playerInterface are mostly very very simple, just delegating to one private Player method. newDrmInfo is slightly more complex, in that it has two calls and three null checks, but it's still basically just delegating to processDrmInfos_, which is covered.

So I think it's good enough under the circumstances.

@joeyparrish joeyparrish merged commit a7f0be7 into shaka-project:main Nov 4, 2022
@joeyparrish joeyparrish deleted the fix-hls-lazy-loading-drm branch November 4, 2022 15:31
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jul 25, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 25, 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: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HLS - Lazy-Load: Widevine stream doesn't start
3 participants