-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
fix: Fix HLS lazy-loading with DRM #4646
Conversation
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
New test cases to follow. |
Incremental code coverage: 84.38% |
Tested locally and it works fine |
@joeyparrish This fix does not interfere with the development of #917, does it? Note: the stream of the issue has EXT-X-SESSION-KEY |
I don't think it will. |
Some additional expectations added to existing tests. |
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. |
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