Jiajia
Will this Widevine feature support same functionalities on Windows as on 
Android?

If no special case for windows, Shall we use the same test as Android  to 
verify Widevine on windows?
Thanks
Jenny

From: Crosswalk-dev [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] 
On Behalf Of Qin, Jiajia
Sent: Wednesday, January 13, 2016 9:44 AM
To: Huo, Halton; Menard, Alexis; Kubo Da Costa, Raphael; Balestrieri, Francesco
Cc: crosswalk-dev@lists.crosswalk-project.org
Subject: Re: [Crosswalk-dev] Intent to Implement: Enable Widevine CDM for 
Windows

Hi, all
Currently, I only received Mikhail's lgtm. How's yours opinions? If some points 
are not very clear, please kindly point it out. I will try to answer it. Thanks.

Regards,
Jiajia

From: Pozdnyakov, Mikhail
Sent: Monday, January 11, 2016 9:33 PM
To: Qin, Jiajia; 
crosswalk-dev@lists.crosswalk-project.org<mailto:crosswalk-dev@lists.crosswalk-project.org>
Cc: Huo, Halton; Menard, Alexis; Kubo Da Costa, Raphael; Balestrieri, Francesco
Subject: RE: Intent to Implement: Enable Widevine CDM for Windows

lgtm

BR,
Mikhail
________________________________
From: Qin, Jiajia
Sent: Wednesday, January 06, 2016 12:00 PM
To: 
crosswalk-dev@lists.crosswalk-project.org<mailto:crosswalk-dev@lists.crosswalk-project.org>
Cc: Huo, Halton; Menard, Alexis; Pozdnyakov, Mikhail; Kubo Da Costa, Raphael; 
Balestrieri, Francesco
Subject: Intent to Implement: Enable Widevine CDM for Windows
Description:
Currently, content protected HTML5 video is very popular, such as the purchased 
video in Google Play Movies, Netflix, YouTube. W3C also provide the spec of 
EME(Encrypted Media Extensions) http://www.w3.org/TR/encrypted-media/ . From 
the spec, we can know that CDM(Content Decryption Module) is the client 
component that provides the functionality, including decryption, for one or 
more Key Systems.
Google has enabled support for Widevine Content Decryption Module in Chromium 
44.
The Google DRM team contacted us to propose the integration of the Widevine DRM 
into Crosswalk. This feature has been landed in crosswalk 16 for Android. The 
same thing is being done for windows.

Implement Details:
Since crosswalk is based on content level of chromium, we can leverage the low 
level implementation of widevine CDM. But we need to bridge the high level 
interface to crosswalk like chromium does.

To enable Windevine CDM for windows, two tasks need to be done in xwalk:

1.       Register widevine cdm component

2.       Add widevine key system

Widevine cdm is as a component plugin in windows. So the first step is to 
register the widevine cdm component (widevinecdmadapter.dll which is produced 
from 'src/third_party/widevine/cdm/widevine_cdm.gyp:widevinecdmadapter') to the 
InternalPlugins.
component_updater::RegisterWidevineCdmComponent(src/chrome/browser/component_updater/widevine_cdm_component_installer.h)
 will do it. In crosswalk, we need the similar functions. So, the following 
files will be added:
runtime/browser/component_updater/widevine_cdm_component_installer.cc
runtime/browser/component_updater/widevine_cdm_component_installer.h
runtime/browser/component_updater/xwalk_component_updater_configurator.cc
runtime/browser/component_updater/xwalk_component_updater_configurator.h

The second step is to add widevine key system. In chromium, 
ChromeContentRendererClient::AddKeySystems will do it. Using same logic with 
chromium, in xwalk, we need to implement 
XWalkContentRendererClient::AddKeySystems. The following files will be added:
runtime/renderer/xwalk_key_systems.cc
runtime/renderer/xwalk_key_systems.h

This feature is behind a flag 'enable_widevine' for widows. So we need to open 
this flag in gyp file. Once we detect that the OS is Win and enable_widevine=1, 
we will add dependency  
../third_party/widevine/cdm/widevine_cdm.gyp:widevinecdmadapter to produce the 
widevinecdmadapter.dll when ninja build. (Widevinecdmadapter.dll is the plugin 
which will be registered in step 1.)

Affected component: xwalk/runtime/
Related feature: https://crosswalk-project.org/jira/browse/XWALK-6102
Pull Request: https://github.com/crosswalk-project/crosswalk/pull/3468
Target release: Crosswalk-18

Thanks,
Jiajia

_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to