summaryrefslogtreecommitdiffstats
path: root/chromium/media/media_cdm.gypi
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/media_cdm.gypi')
-rw-r--r--chromium/media/media_cdm.gypi202
1 files changed, 89 insertions, 113 deletions
diff --git a/chromium/media/media_cdm.gypi b/chromium/media/media_cdm.gypi
index d495e3437d4..6f84ed5d704 100644
--- a/chromium/media/media_cdm.gypi
+++ b/chromium/media/media_cdm.gypi
@@ -18,127 +18,103 @@
# Set |use_libvpx| to 1 to use libvpx for VP8 decoding in |clearkeycdm|.
'use_libvpx%': 0,
},
- 'targets': [
- {
- 'target_name': 'clearkeycdm',
- 'type': 'none',
- # TODO(tomfinegan): Simplify this by unconditionally including all the
- # decoders, and changing clearkeycdm to select which decoder to use
- # based on environment variables.
- 'conditions': [
- ['use_fake_video_decoder == 1' , {
- 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'],
- 'sources': [
- 'cdm/ppapi/fake_cdm_video_decoder.cc',
- 'cdm/ppapi/fake_cdm_video_decoder.h',
+ 'conditions': [
+ ['enable_pepper_cdms==1', {
+ 'targets': [
+ {
+ 'target_name': 'clearkeycdm',
+ 'type': 'none',
+ # TODO(tomfinegan): Simplify this by unconditionally including all the
+ # decoders, and changing clearkeycdm to select which decoder to use
+ # based on environment variables.
+ 'conditions': [
+ ['use_fake_video_decoder == 1' , {
+ 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'],
+ 'sources': [
+ 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.cc',
+ 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.h',
+ ],
+ }],
+ ['use_ffmpeg == 1' , {
+ 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'],
+ 'dependencies': [
+ '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
+ ],
+ 'sources': [
+ 'cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc',
+ 'cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.h',
+ ],
+ }],
+ ['use_ffmpeg == 1 and use_fake_video_decoder == 0' , {
+ 'sources': [
+ 'cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc',
+ 'cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.h',
+ ],
+ }],
+ ['use_libvpx == 1 and use_fake_video_decoder == 0' , {
+ 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'],
+ 'dependencies': [
+ '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
+ ],
+ 'sources': [
+ 'cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc',
+ 'cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.h',
+ ],
+ }],
+ ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
+ 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bot.
+ }],
+ ['(OS == "mac" or OS == "win") and enable_pepper_cdms==1', {
+ 'type': 'shared_library',
+ }],
+ ['OS == "mac"', {
+ 'xcode_settings': {
+ 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
+ },
+ }]
],
- }],
- ['use_ffmpeg == 1' , {
- 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'],
+ 'defines': ['CDM_IMPLEMENTATION'],
'dependencies': [
- '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
- ],
- 'sources': [
- 'cdm/ppapi/ffmpeg_cdm_audio_decoder.cc',
- 'cdm/ppapi/ffmpeg_cdm_audio_decoder.h',
+ 'media',
+ '../url/url.gyp:url_lib',
+ # Include the following for media::AudioBus.
+ 'shared_memory_support',
+ '<(DEPTH)/base/base.gyp:base',
],
- }],
- ['use_ffmpeg == 1 and use_fake_video_decoder == 0' , {
'sources': [
- 'cdm/ppapi/ffmpeg_cdm_video_decoder.cc',
- 'cdm/ppapi/ffmpeg_cdm_video_decoder.h',
+ 'cdm/ppapi/cdm_file_io_test.cc',
+ 'cdm/ppapi/cdm_file_io_test.h',
+ 'cdm/ppapi/external_clear_key/cdm_video_decoder.cc',
+ 'cdm/ppapi/external_clear_key/cdm_video_decoder.h',
+ 'cdm/ppapi/external_clear_key/clear_key_cdm.cc',
+ 'cdm/ppapi/external_clear_key/clear_key_cdm.h',
+ 'cdm/ppapi/external_clear_key/clear_key_cdm_common.h',
],
- }],
- ['use_libvpx == 1 and use_fake_video_decoder == 0' , {
- 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'],
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ 'msvs_disabled_warnings': [ 4267, ],
+ },
+ {
+ 'target_name': 'clearkeycdmadapter',
+ 'type': 'none',
+ # Check whether the plugin's origin URL is valid.
+ 'defines': ['CHECK_DOCUMENT_URL'],
'dependencies': [
- '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
- ],
- 'sources': [
- 'cdm/ppapi/libvpx_cdm_video_decoder.cc',
- 'cdm/ppapi/libvpx_cdm_video_decoder.h',
+ '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp',
+ 'media_cdm_adapter.gyp:cdmadapter',
+ 'clearkeycdm',
],
- }],
- ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
- 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots.
- }],
- ['(OS == "mac" or OS == "win") and enable_pepper_cdms==1', {
- 'type': 'shared_library',
- }],
- ['OS == "mac"', {
- 'xcode_settings': {
- 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
- },
- }]
- ],
- 'defines': ['CDM_IMPLEMENTATION'],
- 'dependencies': [
- 'media',
- # Include the following for media::AudioBus.
- 'shared_memory_support',
- '<(DEPTH)/base/base.gyp:base',
- ],
- 'sources': [
- 'cdm/ppapi/cdm_video_decoder.cc',
- 'cdm/ppapi/cdm_video_decoder.h',
- 'cdm/ppapi/clear_key_cdm.cc',
- 'cdm/ppapi/clear_key_cdm.h',
- 'cdm/ppapi/clear_key_cdm_common.h',
- ],
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- 'msvs_disabled_warnings': [ 4267, ],
- },
- {
- 'target_name': 'clearkeycdmadapter',
- 'type': 'none',
- # Check whether the plugin's origin URL is valid.
- 'defines': ['CHECK_DOCUMENT_URL'],
- 'dependencies': [
- '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp',
- 'clearkeycdm',
- ],
- 'sources': [
- 'cdm/ppapi/api/content_decryption_module.h',
- 'cdm/ppapi/cdm_adapter.cc',
- 'cdm/ppapi/cdm_adapter.h',
- 'cdm/ppapi/cdm_helpers.cc',
- 'cdm/ppapi/cdm_helpers.h',
- 'cdm/ppapi/cdm_logging.cc',
- 'cdm/ppapi/cdm_logging.h',
- 'cdm/ppapi/cdm_wrapper.h',
- 'cdm/ppapi/linked_ptr.h',
- 'cdm/ppapi/supported_cdm_versions.h',
- ],
- 'conditions': [
- ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
- 'cflags': ['-fvisibility=hidden'],
- 'type': 'loadable_module',
- # Allow the plugin adapter to find the CDM in the same directory.
- 'ldflags': ['-Wl,-rpath=\$$ORIGIN'],
- 'libraries': [
- # Built by clearkeycdm.
- '<(PRODUCT_DIR)/libclearkeycdm.so',
+ 'conditions': [
+ ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
+ # Because clearkeycdm has type 'loadable_module' (see comments),
+ # we must explicitly specify this dependency.
+ 'libraries': [
+ # Built by clearkeycdm.
+ '<(PRODUCT_DIR)/libclearkeycdm.so',
+ ],
+ }],
],
- }],
- ['OS == "win" and enable_pepper_cdms==1', {
- 'type': 'shared_library',
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- 'msvs_disabled_warnings': [ 4267, ],
- }],
- ['OS == "mac" and enable_pepper_cdms==1', {
- 'type': 'loadable_module',
- 'product_extension': 'plugin',
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- # Not to strip important symbols by -Wl,-dead_strip.
- '-Wl,-exported_symbol,_PPP_GetInterface',
- '-Wl,-exported_symbol,_PPP_InitializeModule',
- '-Wl,-exported_symbol,_PPP_ShutdownModule'
- ],
- 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
- },
- }],
+ },
],
- }
+ }],
],
}