diff options
Diffstat (limited to 'chromium/media/media_cdm.gypi')
-rw-r--r-- | chromium/media/media_cdm.gypi | 202 |
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', - }, - }], + }, ], - } + }], ], } |