MediaKeySession does not fire keystatuseschange on close per specification
Reported by
wats...@netflix.com,
Jun 24 2016
|
|||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 Example URL: See attached modified version of Blink encrypted media test Steps to reproduce the problem: 1. Obtain a MediaKeySession object 2. Populate it with some keys 3. Close the session What is the expected behavior? A keystatuseschange event should be fired on the MediaKeySession after the closed attribute and close() method return promises are resolved. What went wrong? No keystatuseschanged event is observed after close() Did this work before? N/A Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? N/A Chrome version: 51.0.2704.103 Channel: n/a OS Version: OS X 10.11.5 Flash Version: Shockwave Flash 22.0 r0
,
Jun 28 2016
,
Jul 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7166975fdb70c379be724825394c20c01e606606 commit 7166975fdb70c379be724825394c20c01e606606 Author: jrummell <jrummell@chromium.org> Date: Sat Jul 02 02:38:56 2016 EME: Clear Key CDM now generates keystatuseschange event on close() EME spec requires a CDM to generate a keystatuseschange event when close() is called (as any available keys for that session are now gone). This updates the Clear Key CDM to generate the required event. BUG= 622956 TEST=updated EME tests passes Review-Url: https://codereview.chromium.org/2108033002 Cr-Commit-Position: refs/heads/master@{#403595} [modify] https://crrev.com/7166975fdb70c379be724825394c20c01e606606/media/cdm/aes_decryptor.cc [modify] https://crrev.com/7166975fdb70c379be724825394c20c01e606606/media/cdm/aes_decryptor_unittest.cc [modify] https://crrev.com/7166975fdb70c379be724825394c20c01e606606/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-keystatuses.html
,
Jul 20 2016
,
Jul 20 2016
,
Jul 22 2016
This seems to be fixed for Clear Key, but I still see the same problem for Widevine: https://web-platform.test:8443/encrypted-media/drm-mp4-playback-temporary.html
,
Aug 1 2016
jrummell, PTAL.
,
Aug 9 2016
Update to #6: The failure now ppears to be in http://www.w3c-test.org/encrypted-media/drm-mp4-playback-temporary-events.html. (encrypted-media/drm-mp4-playback-temporary.html passes.) Clear Key (http://www.w3c-test.org/encrypted-media/clearkey-mp4-playback-temporary-events.html) passes.
,
Aug 11 2016
Assigning to tinskip@ to make the change for Widevine, as requested.
,
Sep 13 2016
This is preventing us from passing a spec test, which is blocking PR.
,
Sep 14 2016
Interestingly, this test was passing on Firefox 51 with Widevine last time the tests were run.
,
Sep 14 2016
This may also be causing http://www.w3c-test.org/encrypted-media/drm-keystatuses.html to fail. See https://github.com/w3c/web-platform-tests/issues/3618#issuecomment-243835790.
,
Sep 14 2016
Will fix for m55.
,
Sep 16 2016
Confirming #11, http://www.w3c-test.org/encrypted-media/drm-mp4-playback-temporary-events.html is passing in Firefox 51 (with Widevine).
,
Sep 16 2016
Firefox 51 also fires an extra `"keystatuseschange"` event with all keys: https://github.com/w3c/web-platform-tests/pull/3746#issuecomment-247726552
,
Oct 10 2016
Will do this in Chromium for both Widevine and Clear Key (replacing what was done in #3 so it works for both key systems).
,
Oct 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/beab77818bad0932063375097110e6048632a193 commit beab77818bad0932063375097110e6048632a193 Author: jrummell <jrummell@chromium.org> Date: Tue Oct 11 20:17:22 2016 EME: Implement Session Closed algorithm Update MediaKeySession to implement the Session Closed algorithm as outlined in the EME spec. This replaces a previous change that implemented this as part of Clear Key key system only. BUG= 622956 , 624192 TEST=updated test passes Review-Url: https://codereview.chromium.org/2406073002 Cr-Commit-Position: refs/heads/master@{#424524} [modify] https://crrev.com/beab77818bad0932063375097110e6048632a193/media/cdm/aes_decryptor.cc [modify] https://crrev.com/beab77818bad0932063375097110e6048632a193/media/cdm/aes_decryptor_unittest.cc [modify] https://crrev.com/beab77818bad0932063375097110e6048632a193/third_party/WebKit/LayoutTests/media/encrypted-media/encrypted-media-keystatuses.html [modify] https://crrev.com/beab77818bad0932063375097110e6048632a193/third_party/WebKit/Source/modules/encryptedmedia/MediaKeySession.cpp
,
Oct 12 2016
All of the related W3C test now pass with Version 56.0.2888.0 canary https://www.w3c-test.org/encrypted-media/drm-mp4-playback-temporary-events.html https://www.w3c-test.org/encrypted-media/drm-mp4-playback-temporary.html https://www.w3c-test.org/encrypted-media/clearkey-mp4-playback-temporary-events.html |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by ddorwin@chromium.org
, Jun 24 2016Labels: -OS-Mac EME-compat OS-All
Owner: jrumm...@chromium.org
Status: Assigned (was: Unconfirmed)