Initial import of Widevine Common Encryption DRM engine

Builds libwvmdrmengine.so, which is loaded by the new
MediaDrm APIs to support playback of Widevine/CENC
protected content.

Change-Id: I6f57dd37083dfd96c402cb9dd137c7d74edc8f1c
This commit is contained in:
Jeff Tinker
2013-03-21 17:39:02 -07:00
parent 38334efbe7
commit 1a8aa0dd05
211 changed files with 51913 additions and 144 deletions

View File

@@ -0,0 +1,128 @@
# Copyright 2012 Google Inc. All Rights Reserved.
# Author: rkuroiwa@google.com (Rintaro Kuroiwa)
{
'variables': {
'chromium_code': 1,
'oec_target_type': "",
},
'targets': [
{
'target_name': 'oec_lib',
'type': 'none',
'conditions': [
['target_arch=="arm" and oec_target_type != "CAN_INSTALL_KEYBOX"', {
'dependencies': [
'oec_mrvl',
],
'libraries': [
],
}, {
'dependencies': [
'oec_mock',
],
}],
],
},
{
'target_name': 'oec_client',
'type': 'static_library',
'sources': [
'client/oemcrypto_client.h',
'client/oemcrypto_client.cpp',
],
'dependencies': [
'../../../base/base.gyp:base',
],
'include_dirs': [
'client',
'../include/widevine',
'../core/include',
],
},
{
'target_name': 'oec_mock',
'type': 'static_library',
'conditions': [
[ 'use_openssl==1', {
'sources!': [
'mock/src/encryptor_nss.cpp',
],
}, {
'sources!': [
'mock/src/encryptor_openssl.cpp',
],
},],
],
'sources': [
'mock/src/oemcrypto_mock.cpp',
'mock/src/oemcrypto_engine_mock.cpp',
'mock/src/oemcrypto_engine_mock.h',
'mock/src/oemcrypto_key_mock.cpp',
'mock/src/oemcrypto_key_mock.h',
'mock/src/oemcrypto_keybox_mock.cpp',
'mock/src/oemcrypto_keybox_mock.h',
'mock/src/encryptor.h',
'mock/src/encryptor.cpp',
'mock/src/encryptor_nss.cpp',
'mock/src/encryptor_openssl.cpp',
'mock/src/cmac.h',
'mock/src/cmac.c',
],
'dependencies': [
'../../../base/base.gyp:base',
'../../../crypto/crypto.gyp:crypto',
],
'include_dirs': [
'mock/src',
'../include',
'../core/include',
],
},
{
'target_name': 'oec_mrvl',
'type': 'static_library',
'sources': [
'eureka/src/oemcrypto_mrvl.cpp',
],
'dependencies': [
'../../../base/base.gyp:base',
'../../../crypto/crypto.gyp:crypto',
],
'include_dirs': [
'../include',
'../core/include',
],
'cflags': [
'-Wsign-conversion',
],
'link_settings': {
'libraries': [
'-lOSAL',
'-lPEAgent',
],
},
},
{
'target_name': 'oec_unittest',
'type': '<(gtest_target_type)',
'conditions': [
['target_arch!="arm" or oec_target_type == "CAN_INSTALL_KEYBOX"', {
'defines': [ 'CAN_INSTALL_KEYBOX', ],
},],
],
'sources': [
'test/oemcrypto_test.cpp',
],
'include_dirs': [
'../include',
'../../../testing/gtest/include',
],
'dependencies': [
'oec_lib',
'../../../base/base.gyp:base',
'../../../testing/gtest.gyp:gtest',
],
},
],
}