OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 'includes': [ | 6 'includes': [ |
7 'cdm_paths.gypi', | |
8 'media_variables.gypi', | 7 'media_variables.gypi', |
9 ], | 8 ], |
10 'variables': { | 9 'variables': { |
11 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|, | 10 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|, |
12 # and produce video frames filled with a solid color instead. | 11 # and produce video frames filled with a solid color instead. |
13 'use_fake_video_decoder%': 0, | 12 'use_fake_video_decoder%': 0, |
14 # Set |use_libvpx_in_clear_key_cdm| to 1 to use libvpx for VP8 decoding in | 13 # Set |use_libvpx_in_clear_key_cdm| to 1 to use libvpx for VP8 decoding in |
15 # |clearkeycdm|. | 14 # |clearkeycdm|. |
16 'use_libvpx_in_clear_key_cdm%': 0, | 15 'use_libvpx_in_clear_key_cdm%': 0, |
17 }, | 16 }, |
18 'conditions': [ | 17 'conditions': [ |
19 ['enable_pepper_cdms==1', { | 18 ['enable_pepper_cdms==1', { |
20 'includes': [ | 19 'includes': [ |
21 '../build/util/version.gypi', | 20 '../build/util/version.gypi', |
22 ], | 21 ], |
23 'targets': [ | 22 'targets': [ |
24 { | 23 { |
25 # GN version: //media/cdm/ppapi:clearkeycdm | 24 # GN version: //media/cdm/ppapi:clearkeycdm |
26 'target_name': 'clearkeycdm', | 25 'target_name': 'clearkeycdm', |
27 'product_dir': '<(PRODUCT_DIR)/<(clearkey_cdm_path)', | |
28 'type': 'none', | 26 'type': 'none', |
29 # TODO(tomfinegan): Simplify this by unconditionally including all the | 27 # TODO(tomfinegan): Simplify this by unconditionally including all the |
30 # decoders, and changing clearkeycdm to select which decoder to use | 28 # decoders, and changing clearkeycdm to select which decoder to use |
31 # based on environment variables. | 29 # based on environment variables. |
32 'conditions': [ | 30 'conditions': [ |
33 ['use_fake_video_decoder == 1' , { | 31 ['use_fake_video_decoder == 1' , { |
34 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'], | 32 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'], |
35 'sources': [ | 33 'sources': [ |
36 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.cc', | 34 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.cc', |
37 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.h', | 35 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.h', |
(...skipping 26 matching lines...) Expand all Loading... |
64 ], | 62 ], |
65 }], | 63 }], |
66 ['os_posix == 1 and OS != "mac"', { | 64 ['os_posix == 1 and OS != "mac"', { |
67 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bot. | 65 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bot. |
68 }], | 66 }], |
69 ['OS == "mac" or OS == "win"', { | 67 ['OS == "mac" or OS == "win"', { |
70 'type': 'shared_library', | 68 'type': 'shared_library', |
71 }], | 69 }], |
72 ['OS == "mac"', { | 70 ['OS == "mac"', { |
73 'xcode_settings': { | 71 'xcode_settings': { |
74 'DYLIB_INSTALL_NAME_BASE': '@rpath', | 72 'DYLIB_INSTALL_NAME_BASE': '@loader_path', |
75 }, | 73 }, |
76 }] | 74 }] |
77 ], | 75 ], |
78 'defines': ['CDM_IMPLEMENTATION'], | 76 'defines': ['CDM_IMPLEMENTATION'], |
79 'dependencies': [ | 77 'dependencies': [ |
80 'media', | 78 'media', |
81 '../url/url.gyp:url_lib', | 79 '../url/url.gyp:url_lib', |
82 # Include the following for media::AudioBus. | 80 # Include the following for media::AudioBus. |
83 'shared_memory_support', | 81 'shared_memory_support', |
84 '<(DEPTH)/base/base.gyp:base', | 82 '<(DEPTH)/base/base.gyp:base', |
(...skipping 23 matching lines...) Expand all Loading... |
108 'extra_variable_files': [ 'cdm/ppapi/external_clear_key/BRANDING' ], | 106 'extra_variable_files': [ 'cdm/ppapi/external_clear_key/BRANDING' ], |
109 }, | 107 }, |
110 'sources': [ | 108 'sources': [ |
111 'clearkeycdmadapter.ver', | 109 'clearkeycdmadapter.ver', |
112 ], | 110 ], |
113 'includes': [ | 111 'includes': [ |
114 '../chrome/version_resource_rules.gypi', | 112 '../chrome/version_resource_rules.gypi', |
115 ], | 113 ], |
116 }, | 114 }, |
117 { | 115 { |
118 'target_name': 'clearkeycdmadapter_binary', | 116 # GN version: //media/cdm/ppapi:clearkeycdmadapter |
119 'product_name': 'clearkeycdmadapter', | 117 'target_name': 'clearkeycdmadapter', |
120 'type': 'none', | 118 'type': 'none', |
121 # Check whether the plugin's origin URL is valid. | 119 # Check whether the plugin's origin URL is valid. |
122 'defines': ['CHECK_DOCUMENT_URL'], | 120 'defines': ['CHECK_DOCUMENT_URL'], |
123 'dependencies': [ | 121 'dependencies': [ |
124 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', | 122 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', |
125 'media_cdm_adapter.gyp:cdmadapter', | 123 'media_cdm_adapter.gyp:cdmadapter', |
126 'clearkeycdm', | 124 'clearkeycdm', |
127 'clearkeycdmadapter_resources', | 125 'clearkeycdmadapter_resources', |
128 ], | 126 ], |
129 'sources': [ | 127 'sources': [ |
130 '<(SHARED_INTERMEDIATE_DIR)/clearkeycdmadapter_version.rc', | 128 '<(SHARED_INTERMEDIATE_DIR)/clearkeycdmadapter_version.rc', |
131 ], | 129 ], |
132 'conditions': [ | 130 'conditions': [ |
133 ['os_posix == 1 and OS != "mac"', { | 131 ['os_posix == 1 and OS != "mac"', { |
134 # Because clearkeycdm has type 'loadable_module' (see comments), | 132 # Because clearkeycdm has type 'loadable_module' (see comments), |
135 # we must explicitly specify this dependency. | 133 # we must explicitly specify this dependency. |
136 'libraries': [ | 134 'libraries': [ |
137 '-lrt', | 135 '-lrt', |
138 # Built by clearkeycdm. | 136 # Built by clearkeycdm. |
139 '<(PRODUCT_DIR)/<(clearkey_cdm_path)/libclearkeycdm.so', | 137 '<(PRODUCT_DIR)/libclearkeycdm.so', |
140 ], | 138 ], |
141 }], | 139 }], |
142 ['OS == "mac"', { | |
143 'xcode_settings': { | |
144 'LD_RUNPATH_SEARCH_PATHS' : [ '@loader_path/.' ], | |
145 }, | |
146 }, { | |
147 # Put Clear Key CDM adapter to the correct path directly except | |
148 # for mac. On mac strip_save_dsym doesn't work with product_dir | |
149 # so we rely on "clearkeycdmadapter" target to copy it over. | |
150 # See http://crbug.com/611990 | |
151 'product_dir': '<(PRODUCT_DIR)/<(clearkey_cdm_path)', | |
152 }] | |
153 ], | 140 ], |
154 }, | 141 }, |
155 { | 142 ], |
156 # GN version: //media/cdm/ppapi:clearkeycdmadapter | |
157 # On Mac this copies the clearkeycdmadapter binary to | |
158 # <(clearkey_cdm_path). On all other platforms the binary is already | |
159 # in <(clearkey_cdm_path). See "product_dir" above. | |
160 'target_name': 'clearkeycdmadapter', | |
161 'type': 'none', | |
162 'dependencies': [ | |
163 'clearkeycdmadapter_binary', | |
164 ], | |
165 'conditions': [ | |
166 ['OS == "mac"', { | |
167 'copies': [{ | |
168 'destination': '<(PRODUCT_DIR)/<(clearkey_cdm_path)', | |
169 'files': [ '<(PRODUCT_DIR)/clearkeycdmadapter.plugin' ], | |
170 }], | |
171 }], | |
172 ], | |
173 }], | |
174 }], | 143 }], |
175 ], | 144 ], |
176 } | 145 } |
OLD | NEW |