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.
The goal of this PR is to enable the key systems selection process to request the key systems access in a given priority order.
By default, in dash.js the key systems order is pre-defined in ProtectionKeyController:
dash.js/src/streaming/protection/controllers/ProtectionKeyController.js
Line 72 in f4418b5
As a use case, on some devices you may have 2 different available CDMs, and for a specific service you would require dash.js to select the second one in the pre-defined order.
Thus the user can set the priority in the protectionData in order to force dash.js selecting the key systems in the user-defined order.
For example, if you provide the following protectionData:
Then dash.js will select first and request access to the Widevine key system.
The same goald could have been achieved based on PR #2953, but this PR propose a more easiest way to achieve this.