New issue
Advanced search Search tips

Issue 907909 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Implement Media Capabilities Encrypted Media support

Project Member Reported by mlamouri@chromium.org, Nov 22

Issue description

There will be two steps to this implementiation:
 1. implement the Blink layer to match the spec that recently landed
 2. update the backend to take into account encrypted media

I will take care of #1, chcunningham@ will do #2.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8bc2e0de111915687cd99980d1a9d9057b41b00d

commit 8bc2e0de111915687cd99980d1a9d9057b41b00d
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Fri Nov 23 22:47:22 2018

Media Capabilities: split decoding and encoding callbacks in preparation for future changes.

Encrypted media will require a different callback as there is a new attribute
in the returned type so a WebMediaCapabilitiesDecodingInfo will be introduced.
This change allows to cut a lot of boilerplate from the incoming CL.

Bug: 907909
Change-Id: I61f6296c4a35678b8d4054d3df703b74471b1afb
Reviewed-on: https://chromium-review.googlesource.com/c/1348258
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610682}
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/content/renderer/media_recorder/media_recorder_handler.cc
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/content/renderer/media_recorder/media_recorder_handler.h
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/media/blink/webmediacapabilitiesclient_impl.cc
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/media/blink/webmediacapabilitiesclient_impl.h
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/media/blink/webmediacapabilitiesclient_impl_unittest.cc
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/public/BUILD.gn
[add] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_callbacks.h
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_client.h
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_info.h
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/public/platform/web_media_recorder_handler.h
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/renderer/modules/media_capabilities/BUILD.gn
[modify] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/renderer/modules/media_capabilities/media_capabilities.cc
[rename] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/renderer/modules/media_capabilities/media_capabilities_decoding_info_callbacks.cc
[rename] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/renderer/modules/media_capabilities/media_capabilities_decoding_info_callbacks.h
[copy] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/renderer/modules/media_capabilities/media_capabilities_encoding_info_callbacks.cc
[copy] https://crrev.com/8bc2e0de111915687cd99980d1a9d9057b41b00d/third_party/blink/renderer/modules/media_capabilities/media_capabilities_encoding_info_callbacks.h

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/81709d3c9f39fd5330849ce086407382d066e848

commit 81709d3c9f39fd5330849ce086407382d066e848
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Tue Nov 27 23:26:16 2018

EncryptedMedia: remove key_system parameter in MediaKeySystemAccess ctor.

The parameter isn't needed because the other object already carries the
key system information. This CL extends the interface so the Blink
object can get the key system from the implementation through it.

This is needed to reduce the boilerplate in the Media Capabilities
Encrypted Media implementation.

Bug: 907909
Change-Id: If59a6fc0ef47292696b5538a70b7fd22fbf024ca
Reviewed-on: https://chromium-review.googlesource.com/c/1348731
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611407}
[modify] https://crrev.com/81709d3c9f39fd5330849ce086407382d066e848/media/blink/webcontentdecryptionmoduleaccess_impl.cc
[modify] https://crrev.com/81709d3c9f39fd5330849ce086407382d066e848/media/blink/webcontentdecryptionmoduleaccess_impl.h
[modify] https://crrev.com/81709d3c9f39fd5330849ce086407382d066e848/third_party/blink/public/platform/web_content_decryption_module_access.h
[modify] https://crrev.com/81709d3c9f39fd5330849ce086407382d066e848/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc
[modify] https://crrev.com/81709d3c9f39fd5330849ce086407382d066e848/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.h
[modify] https://crrev.com/81709d3c9f39fd5330849ce086407382d066e848/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c16a3ea0952e0b05b86305bf636fe0eee5c06717

commit c16a3ea0952e0b05b86305bf636fe0eee5c06717
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Wed Nov 28 21:21:49 2018

Media Capabilities: implement Blink shell of encrypted media support.

This is adding the interface changes, the code checking for corectedness,
does type conversion and checks for the edge cases mentioned in spec.

This is also adding WPT.

Bug: 907909
Change-Id: Ieebe5b25202a403e50a09576ac283690c0f0ba55
Reviewed-on: https://chromium-review.googlesource.com/c/1348972
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611871}
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/public/BUILD.gn
[add] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_key_system_configuration.h
[add] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/public/platform/modules/media_capabilities/web_media_decoding_configuration.h
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/encryptedmedia/encrypted_media_utils.cc
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/encryptedmedia/encrypted_media_utils.h
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/encryptedmedia/navigator_request_media_key_system_access.cc
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/DEPS
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/media_capabilities.cc
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/media_capabilities.idl
[add] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/media_capabilities_decoding_info.idl
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/media_capabilities_decoding_info_callbacks.cc
[add] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/media_capabilities_key_system_configuration.idl
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/media_capabilities/media_decoding_configuration.idl
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/modules/modules_idl_files.gni
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/web_tests/external/wpt/media-capabilities/decodingInfo.html
[add] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/web_tests/external/wpt/media-capabilities/decodingInfoEncryptedMedia.http.html
[add] https://crrev.com/c16a3ea0952e0b05b86305bf636fe0eee5c06717/third_party/blink/web_tests/external/wpt/media-capabilities/decodingInfoEncryptedMedia.https.html

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/744c08f1790ac17cc71626399feff7c90d846ea5

commit 744c08f1790ac17cc71626399feff7c90d846ea5
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Wed Nov 28 23:03:10 2018

Media Capabilities: implement response side of Encrypted Media.

This is adding an DecodingInfo class that carries key system access
information back and create a MediaKeySystemAccess.

This implementation in //media/blink is a stub that is meant to only
pass WPT tests at the moment.

Bug: 907909
Change-Id: I3bac0087ca3051defb8b47d10fffdb6052814ae9
Reviewed-on: https://chromium-review.googlesource.com/c/1348733
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611917}
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/media/blink/webmediacapabilitiesclient_impl.cc
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/media/blink/webmediacapabilitiesclient_impl.h
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/media/blink/webmediacapabilitiesclient_impl_unittest.cc
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_callbacks.h
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_client.h
[add] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/public/platform/modules/media_capabilities/web_media_capabilities_decoding_info.h
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/public/platform/modules/media_capabilities/web_media_configuration.h
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/public/platform/modules/media_capabilities/web_media_decoding_configuration.h
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/renderer/modules/media_capabilities/media_capabilities_decoding_info_callbacks.cc
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/renderer/modules/media_capabilities/media_capabilities_decoding_info_callbacks.h
[modify] https://crrev.com/744c08f1790ac17cc71626399feff7c90d846ea5/third_party/blink/web_tests/external/wpt/media-capabilities/decodingInfoEncryptedMedia.https.html

Sign in to add a comment