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

Key system priority #3107

Conversation

bbert
Copy link
Contributor

@bbert bbert commented Nov 6, 2019

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:

))

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:

{
    "com.widevine.alpha": {
        "serverURL": "https://drm-widevine-licensing.axtest.net/AcquireLicense",
        "priority": 0
    },
    "com.microsoft.playready": {
        "serverURL": "https://drm-playready-licensing.axtest.net/AcquireLicense",
    }
}

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.

@epiclabsDASH epiclabsDASH added this to the 3.0.1 milestone Nov 11, 2019
@epiclabsDASH epiclabsDASH merged commit 042e07d into Dash-Industry-Forum:development Nov 11, 2019
@nicosang nicosang deleted the key-system-priority branch November 12, 2019 08:25
@dsilhavy dsilhavy mentioned this pull request Mar 20, 2020
5 tasks
bbert added a commit to Orange-OpenSource/dash.js that referenced this pull request Mar 31, 2020
* Add priorityIndex field in ProtectionData

* Reorder key systems according to priority index provided for each key system in input protection data

* rename priorityIndex by priority

* rename priorityIndex by priority

* Reorder key systems according to priority index provided for each key system in input protection data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants