| OLD | NEW |
| (Empty) |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 { | |
| 6 'variables': { | |
| 7 'conditions': [ | |
| 8 ['OS == "android" or OS == "ios"', { | |
| 9 # Android and iOS don't use ffmpeg. | |
| 10 'use_ffmpeg%': 0, | |
| 11 }, { # 'OS != "android" and OS != "ios"' | |
| 12 'use_ffmpeg%': 1, | |
| 13 }], | |
| 14 ], | |
| 15 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|, | |
| 16 # and produce video frames filled with a solid color instead. | |
| 17 'use_fake_video_decoder%': 0, | |
| 18 # Set |use_libvpx| to 1 to use libvpx for VP8 decoding in |clearkeycdm|. | |
| 19 'use_libvpx%': 0, | |
| 20 }, | |
| 21 'targets': [ | |
| 22 { | |
| 23 'target_name': 'clearkeycdm', | |
| 24 'type': 'none', | |
| 25 # TODO(tomfinegan): Simplify this by unconditionally including all the | |
| 26 # decoders, and changing clearkeycdm to select which decoder to use | |
| 27 # based on environment variables. | |
| 28 'conditions': [ | |
| 29 ['use_fake_video_decoder == 1' , { | |
| 30 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'], | |
| 31 'sources': [ | |
| 32 'crypto/ppapi/fake_cdm_video_decoder.cc', | |
| 33 'crypto/ppapi/fake_cdm_video_decoder.h', | |
| 34 ], | |
| 35 }], | |
| 36 ['use_ffmpeg == 1' , { | |
| 37 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'], | |
| 38 'dependencies': [ | |
| 39 '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg', | |
| 40 ], | |
| 41 'sources': [ | |
| 42 'crypto/ppapi/ffmpeg_cdm_audio_decoder.cc', | |
| 43 'crypto/ppapi/ffmpeg_cdm_audio_decoder.h', | |
| 44 ], | |
| 45 }], | |
| 46 ['use_ffmpeg == 1 and use_fake_video_decoder == 0' , { | |
| 47 'sources': [ | |
| 48 'crypto/ppapi/ffmpeg_cdm_video_decoder.cc', | |
| 49 'crypto/ppapi/ffmpeg_cdm_video_decoder.h', | |
| 50 ], | |
| 51 }], | |
| 52 ['use_libvpx == 1 and use_fake_video_decoder == 0' , { | |
| 53 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'], | |
| 54 'dependencies': [ | |
| 55 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx', | |
| 56 ], | |
| 57 'sources': [ | |
| 58 'crypto/ppapi/libvpx_cdm_video_decoder.cc', | |
| 59 'crypto/ppapi/libvpx_cdm_video_decoder.h', | |
| 60 ], | |
| 61 }], | |
| 62 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', { | |
| 63 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots. | |
| 64 }], | |
| 65 ['(OS == "mac" or OS == "win") and enable_pepper_cdms==1', { | |
| 66 'type': 'shared_library', | |
| 67 }], | |
| 68 ['OS == "mac"', { | |
| 69 'xcode_settings': { | |
| 70 'DYLIB_INSTALL_NAME_BASE': '@loader_path', | |
| 71 }, | |
| 72 }] | |
| 73 ], | |
| 74 'defines': ['CDM_IMPLEMENTATION'], | |
| 75 'dependencies': [ | |
| 76 '<(DEPTH)/base/base.gyp:base', | |
| 77 '<(DEPTH)/media/media.gyp:media', | |
| 78 # Include the following for media::AudioBus. | |
| 79 '<(DEPTH)/media/media.gyp:shared_memory_support', | |
| 80 ], | |
| 81 'sources': [ | |
| 82 'crypto/ppapi/cdm_video_decoder.cc', | |
| 83 'crypto/ppapi/cdm_video_decoder.h', | |
| 84 'crypto/ppapi/clear_key_cdm.cc', | |
| 85 'crypto/ppapi/clear_key_cdm.h', | |
| 86 ], | |
| 87 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
| 88 'msvs_disabled_warnings': [ 4267, ], | |
| 89 }, | |
| 90 { | |
| 91 'target_name': 'clearkeycdmadapter', | |
| 92 'type': 'none', | |
| 93 # Check whether the plugin's origin URL is valid. | |
| 94 'defines': ['CHECK_DOCUMENT_URL'], | |
| 95 'dependencies': [ | |
| 96 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', | |
| 97 'clearkeycdm', | |
| 98 ], | |
| 99 'sources': [ | |
| 100 'crypto/ppapi/cdm_wrapper.cc', | |
| 101 'crypto/ppapi/cdm/content_decryption_module.h', | |
| 102 'crypto/ppapi/linked_ptr.h', | |
| 103 ], | |
| 104 'conditions': [ | |
| 105 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', { | |
| 106 'cflags': ['-fvisibility=hidden'], | |
| 107 'type': 'loadable_module', | |
| 108 # Allow the plugin wrapper to find the CDM in the same directory. | |
| 109 'ldflags': ['-Wl,-rpath=\$$ORIGIN'], | |
| 110 'libraries': [ | |
| 111 # Built by clearkeycdm. | |
| 112 '<(PRODUCT_DIR)/libclearkeycdm.so', | |
| 113 ], | |
| 114 }], | |
| 115 ['OS == "win" and enable_pepper_cdms==1', { | |
| 116 'type': 'shared_library', | |
| 117 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
| 118 'msvs_disabled_warnings': [ 4267, ], | |
| 119 }], | |
| 120 ['OS == "mac" and enable_pepper_cdms==1', { | |
| 121 'type': 'loadable_module', | |
| 122 'product_extension': 'plugin', | |
| 123 'xcode_settings': { | |
| 124 'OTHER_LDFLAGS': [ | |
| 125 # Not to strip important symbols by -Wl,-dead_strip. | |
| 126 '-Wl,-exported_symbol,_PPP_GetInterface', | |
| 127 '-Wl,-exported_symbol,_PPP_InitializeModule', | |
| 128 '-Wl,-exported_symbol,_PPP_ShutdownModule' | |
| 129 ], | |
| 130 'DYLIB_INSTALL_NAME_BASE': '@loader_path', | |
| 131 }, | |
| 132 }], | |
| 133 ], | |
| 134 } | |
| 135 ], | |
| 136 } | |
| OLD | NEW |