New issue
Advanced search Search tips

Issue 784656 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

ExternalClearKey doesn't support license destruction acknowledgement

Project Member Reported by jrumm...@chromium.org, Nov 14 2017

Issue description

Running the W3C test clearkey-mp4-playback-destroy-persistent-license.html (modified to use "org.chromium.externalclearkey" instead of "org.w3.clearkey"), the test fails when calling update() after a successful remove().

Currently AesDecryptor only supports update() with the message defined as "{keys:[{kty:oct,kid:rRP56ivmmLh19QSo48zqZA,k:...}]}". However, after a "license-release" message is received, the W3C tests respond with update("{kids:[rRP56ivmmLh19QSo48zqZA]}").

Not sure how the protocol is defined. However, the EME spec lists 3 choices for handling the response in an update() message:
- If sanitized response contains a license or key(s) ...
- If sanitized response contains a record of license destruction acknowledgement and sessionType is "persistent-license" ...
- Otherwise, process sanitized response, not storing any session data.

It appears that the current handling only supports the first case.

Given that the W3C tests use "{kids:[...]}" to handle the second case, Chromium should probably do the same.

There should also be a browser_test that checks remove (as noted here: https://cs.chromium.org/chromium/src/media/test/data/eme_player_js/player_utils.js?l=114).


 

Sign in to add a comment