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

DRM: In a singleLicensePer content mode, blacklist the first kid if not encountered #933

Merged

Conversation

peaBerberian
Copy link
Collaborator

We had a bug in our implementation of the singleLicensePer API (not yet released, hopefully), where we would not fallback from a quality linked to a key id not found in the licence, only if that key id was the first encountered.

This is because the check we (I) added to do that only did it on subsequent key ids, not the first one that triggered the license-fetching process.

I tried to add a fix but it is not as simple as it looks, because if we're doing that in a singleLicensePer: "content"` mode, why not
always (as it would make sense to always fallback when the wanted key id is not found in the corresponding license).

However I prefer not to do that due to both not break the API and the possible compatibilities issues as explained in the code.

So I was left doing it only if singleLicensePer was not set to the default value, and putting that code in eme_manager.ts instead of where I would have preferred to put it, initially, in check_key_statuses.ts.

…ot encountered

We had a bug in our implementation of the `singleLicensePer` API (not
yet released, hopefully), where we would not fallback from a quality
linked to a key id not found in the licence, only if that key id was the
first encountered.

This is because the check we (I) added to do that only did it on
subsequent key ids, not the first one that triggered the
license-fetching process.

I tried to add a fix but it is not as simple as it looks, because if
we're doing that in a `singleLicensePer`: "content"` mode, why not
always (as it would make sense to always fallback when the wanted key id
is not found in the corresponding license).

However I prefer not to do that due to both not break the API and the
possible compatibilities issues as explained in the code.

So I was left doing it only if `singleLicensePer` was not set to the
default value, and putting that code in `eme_manager.ts` instead of
where I would have preferred to put it, initially, in
`check_key_statuses.ts`.
@peaBerberian peaBerberian added bug This is an RxPlayer issue (unexpected result when comparing to the API) DRM Relative to DRM (EncryptedMediaExtensions) labels Mar 31, 2021
@peaBerberian peaBerberian added this to the 3.24.0 milestone Mar 31, 2021
@peaBerberian peaBerberian merged commit 9a15441 into release/v3.24.0 Mar 31, 2021
@peaBerberian peaBerberian deleted the fix/blacklist-first-keyid-on-singleLicense branch June 16, 2021 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This is an RxPlayer issue (unexpected result when comparing to the API) DRM Relative to DRM (EncryptedMediaExtensions)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants