Save session-specific options in pending session data when waiting on media keys #96
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.
Instead of always using new options, persist options passed when adding session data to the pendingSessionData array to allow for different options per session created.
This fixes cases where two encrypted pieces of media are in the same manifest, and a user set up the sessions in advance using
initializeMediaKeys
. Previously, the newest options would be used for all sessions. This provides the relevant options.Testing
Because this case occurs when the same manifest has content with different keys, finding a source for testing is a bit of a challenge. I was able to combine two clear key encrypted sources into one manifest using https://github.com/gesinger/encrypted-video-creator, and can share the instructions/content, but the general steps are:
EXT-X-DISCONTINUITY
tag in-between where one media ends and the other beginskeys
array over askeys2
(or some more appropriate name), and thegetLicense
function asgetLicense2
, theninitializeMediaKeys
separately for each