OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'variables': { | 6 'variables': { |
7 'conditions': [ | 7 'conditions': [ |
8 ['OS == "android" or OS == "ios"', { | 8 ['OS == "android" or OS == "ios"', { |
9 # Android and iOS don't use ffmpeg. | 9 # Android and iOS don't use ffmpeg. |
10 'use_ffmpeg%': 0, | 10 'use_ffmpeg%': 0, |
11 }, { # 'OS != "android" and OS != "ios"' | 11 }, { # 'OS != "android" and OS != "ios"' |
12 'use_ffmpeg%': 1, | 12 'use_ffmpeg%': 1, |
13 }], | 13 }], |
14 ], | 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, |
15 }, | 20 }, |
16 'targets': [ | 21 'targets': [ |
17 { | 22 { |
18 'target_name': 'webkit_media', | 23 'target_name': 'webkit_media', |
19 'type': 'static_library', | 24 'type': 'static_library', |
20 'variables': { 'enable_wexit_time_destructors': 1, }, | 25 'variables': { 'enable_wexit_time_destructors': 1, }, |
21 'include_dirs': [ | 26 'include_dirs': [ |
22 '<(SHARED_INTERMEDIATE_DIR)', # Needed by key_systems.cc. | 27 '<(SHARED_INTERMEDIATE_DIR)', # Needed by key_systems.cc. |
23 ], | 28 ], |
24 'dependencies': [ | 29 'dependencies': [ |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 }, { # OS != "android"' | 110 }, { # OS != "android"' |
106 'sources/': [ | 111 'sources/': [ |
107 ['exclude', '^android/'], | 112 ['exclude', '^android/'], |
108 ], | 113 ], |
109 }], | 114 }], |
110 ], | 115 ], |
111 }, | 116 }, |
112 { | 117 { |
113 'target_name': 'clearkeycdm', | 118 'target_name': 'clearkeycdm', |
114 'type': 'none', | 119 'type': 'none', |
| 120 # TODO(tomfinegan): Simplify this by unconditionally including all the |
| 121 # decoders, and changing clearkeycdm to select which decoder to use |
| 122 # based on environment variables. |
115 'conditions': [ | 123 'conditions': [ |
116 ['use_ffmpeg == 1' , { | 124 ['use_fake_video_decoder == 1' , { |
| 125 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'], |
| 126 'sources': [ |
| 127 'crypto/ppapi/fake_cdm_video_decoder.cc', |
| 128 'crypto/ppapi/fake_cdm_video_decoder.h', |
| 129 ], |
| 130 }], |
| 131 ['use_ffmpeg == 1' , { |
117 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'], | 132 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'], |
118 'dependencies': [ | 133 'dependencies': [ |
119 '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg', | 134 '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg', |
120 ], | 135 ], |
121 'sources': [ | 136 'sources': [ |
122 'crypto/ppapi/ffmpeg_cdm_audio_decoder.cc', | 137 'crypto/ppapi/ffmpeg_cdm_audio_decoder.cc', |
123 'crypto/ppapi/ffmpeg_cdm_audio_decoder.h', | 138 'crypto/ppapi/ffmpeg_cdm_audio_decoder.h', |
| 139 ], |
| 140 }], |
| 141 ['use_ffmpeg == 1 and use_fake_video_decoder == 0' , { |
| 142 'sources': [ |
124 'crypto/ppapi/ffmpeg_cdm_video_decoder.cc', | 143 'crypto/ppapi/ffmpeg_cdm_video_decoder.cc', |
125 'crypto/ppapi/ffmpeg_cdm_video_decoder.h', | 144 'crypto/ppapi/ffmpeg_cdm_video_decoder.h', |
126 ], | 145 ], |
127 }], | 146 }], |
| 147 ['use_libvpx == 1 and use_fake_video_decoder == 0' , { |
| 148 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'], |
| 149 'dependencies': [ |
| 150 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx', |
| 151 ], |
| 152 'sources': [ |
| 153 'crypto/ppapi/libvpx_cdm_video_decoder.cc', |
| 154 'crypto/ppapi/libvpx_cdm_video_decoder.h', |
| 155 ], |
| 156 }], |
128 ['os_posix == 1 and OS != "mac"', { | 157 ['os_posix == 1 and OS != "mac"', { |
129 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots. | 158 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots. |
130 }, { # 'os_posix != 1 or OS == "mac"' | 159 }, { # 'os_posix != 1 or OS == "mac"' |
131 'type': 'shared_library', | 160 'type': 'shared_library', |
132 }], | 161 }], |
133 ], | 162 ], |
134 'defines': ['CDM_IMPLEMENTATION'], | 163 'defines': ['CDM_IMPLEMENTATION'], |
135 'dependencies': [ | 164 'dependencies': [ |
136 '<(DEPTH)/base/base.gyp:base', | 165 '<(DEPTH)/base/base.gyp:base', |
137 '<(DEPTH)/media/media.gyp:media', | 166 '<(DEPTH)/media/media.gyp:media', |
138 ], | 167 ], |
139 'sources': [ | 168 'sources': [ |
| 169 'crypto/ppapi/cdm_video_decoder.cc', |
| 170 'crypto/ppapi/cdm_video_decoder.h', |
140 'crypto/ppapi/clear_key_cdm.cc', | 171 'crypto/ppapi/clear_key_cdm.cc', |
141 'crypto/ppapi/clear_key_cdm.h', | 172 'crypto/ppapi/clear_key_cdm.h', |
142 ], | 173 ], |
143 }, | 174 }, |
144 { | 175 { |
145 'target_name': 'clearkeycdmplugin', | 176 'target_name': 'clearkeycdmplugin', |
146 'type': 'none', | 177 'type': 'none', |
147 'dependencies': [ | 178 'dependencies': [ |
148 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', | 179 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', |
149 'clearkeycdm', | 180 'clearkeycdm', |
(...skipping 26 matching lines...) Expand all Loading... |
176 # Not to strip important symbols by -Wl,-dead_strip. | 207 # Not to strip important symbols by -Wl,-dead_strip. |
177 '-Wl,-exported_symbol,_PPP_GetInterface', | 208 '-Wl,-exported_symbol,_PPP_GetInterface', |
178 '-Wl,-exported_symbol,_PPP_InitializeModule', | 209 '-Wl,-exported_symbol,_PPP_InitializeModule', |
179 '-Wl,-exported_symbol,_PPP_ShutdownModule' | 210 '-Wl,-exported_symbol,_PPP_ShutdownModule' |
180 ]}, | 211 ]}, |
181 }], | 212 }], |
182 ], | 213 ], |
183 } | 214 } |
184 ], | 215 ], |
185 } | 216 } |
OLD | NEW |