Animate hiding security button on custom tab toolbar
[chromium-blink-merge.git] / chromecast / media / media.gyp
blob86879e5b24ad9658e7c27f0f9d127a0a52760e7b
1 # Copyright 2014 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.
6   'variables': {
7     'chromium_code': 1,
8     'chromecast_branding%': 'Chromium',
9     'libcast_media_gyp%': '',
10     'use_default_libcast_media%': 1,
11   },
12   'targets': [
13     # TODO(gunsch): delete this target once Chromecast M44/earlier is obsolete.
14     # See: b/21639416
15     {
16       'target_name': 'libffmpegsumo',
17       'type': 'loadable_module',
18       'sources': ['empty.cc'],
19     },
20     {
21       'target_name': 'media_base',
22       'type': '<(component)',
23       'dependencies': [
24         '../../base/base.gyp:base',
25         '../../crypto/crypto.gyp:crypto',
26         '../../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
27         '<(libcast_media_gyp):libcast_media_1.0',
28       ],
29       'sources': [
30         'base/decrypt_context.cc',
31         'base/decrypt_context.h',
32         'base/decrypt_context_clearkey.cc',
33         'base/decrypt_context_clearkey.h',
34         'base/key_systems_common.cc',
35         'base/key_systems_common.h',
36         'base/media_caps.cc',
37         'base/media_caps.h',
38         'base/media_codec_support.cc',
39         'base/media_codec_support.h',
40         'base/media_message_loop.cc',
41         'base/media_message_loop.h',
42         'base/switching_media_renderer.cc',
43         'base/switching_media_renderer.h',
44       ],
45       'conditions': [
46         ['chromecast_branding=="Chrome"', {
47           'dependencies': [
48             '../internal/chromecast_internal.gyp:media_base_internal',
49           ],
50         }, {
51           'sources': [
52             'base/key_systems_common_simple.cc',
53           ],
54         }],
55       ],
56     },
57     {
58       'target_name': 'media_cdm',
59       'type': '<(component)',
60       'dependencies': [
61         'media_base',
62         '../../base/base.gyp:base',
63         '../../media/media.gyp:media',
64       ],
65       'sources': [
66         'cdm/browser_cdm_cast.cc',
67         'cdm/browser_cdm_cast.h',
68         'cdm/chromecast_init_data.cc',
69         'cdm/chromecast_init_data.h',
70       ],
71       'conditions': [
72         ['use_playready==1', {
73           'sources': [
74             'cdm/playready_drm_delegate_android.cc',
75             'cdm/playready_drm_delegate_android.h',
76           ],
77         }],
78       ],
79     },
80     {
81       'target_name': 'cma_base',
82       'type': '<(component)',
83       'dependencies': [
84         '../chromecast.gyp:cast_base',
85         '../../base/base.gyp:base',
86         '../../media/media.gyp:media',
87       ],
88       'include_dirs': [
89         '../..',
90       ],
91       'sources': [
92         'cma/base/balanced_media_task_runner_factory.cc',
93         'cma/base/balanced_media_task_runner_factory.h',
94         'cma/base/buffering_controller.cc',
95         'cma/base/buffering_controller.h',
96         'cma/base/buffering_defs.cc',
97         'cma/base/buffering_defs.h',
98         'cma/base/buffering_frame_provider.cc',
99         'cma/base/buffering_frame_provider.h',
100         'cma/base/buffering_state.cc',
101         'cma/base/buffering_state.h',
102         'cma/base/cma_logging.h',
103         'cma/base/coded_frame_provider.cc',
104         'cma/base/coded_frame_provider.h',
105         'cma/base/decoder_buffer_adapter.cc',
106         'cma/base/decoder_buffer_adapter.h',
107         'cma/base/decoder_buffer_base.cc',
108         'cma/base/decoder_buffer_base.h',
109         'cma/base/decoder_config_adapter.cc',
110         'cma/base/decoder_config_adapter.h',
111         'cma/base/media_task_runner.cc',
112         'cma/base/media_task_runner.h',
113         'cma/base/simple_media_task_runner.cc',
114         'cma/base/simple_media_task_runner.h',         
115       ],
116     },
117     {
118       'target_name': 'cma_backend',
119       'type': '<(component)',
120       'dependencies': [
121         'cma_base',
122         'media_base',
123         '../../base/base.gyp:base',
124         '../../media/media.gyp:media',
125       ],
126       'include_dirs': [
127         '../..',
128       ],
129       'sources': [
130         'cma/backend/audio_pipeline_device.cc',
131         'cma/backend/audio_pipeline_device.h',
132         'cma/backend/audio_pipeline_device_default.cc',
133         'cma/backend/audio_pipeline_device_default.h',
134         'cma/backend/media_clock_device.cc',
135         'cma/backend/media_clock_device.h',
136         'cma/backend/media_clock_device_default.cc',
137         'cma/backend/media_clock_device_default.h',
138         'cma/backend/media_component_device.cc',
139         'cma/backend/media_component_device.h',
140         'cma/backend/media_component_device_default.cc',
141         'cma/backend/media_component_device_default.h',
142         'cma/backend/media_pipeline_device.cc',
143         'cma/backend/media_pipeline_device.h',
144         'cma/backend/media_pipeline_device_factory.h',
145         'cma/backend/media_pipeline_device_factory_default.cc',
146         'cma/backend/media_pipeline_device_factory_default.h',
147         'cma/backend/media_pipeline_device_params.cc',
148         'cma/backend/media_pipeline_device_params.h',
149         'cma/backend/video_pipeline_device.cc',
150         'cma/backend/video_pipeline_device_default.cc',
151         'cma/backend/video_pipeline_device_default.h',
152         'cma/backend/video_pipeline_device.h',
153       ],
154       'conditions': [
155         ['chromecast_branding=="Chrome"', {
156           'dependencies': [
157             '../internal/chromecast_internal.gyp:cma_backend_internal',
158           ],
159         }, {
160           'sources': [
161             'cma/backend/media_pipeline_device_factory_simple.cc'
162           ],
163         }],
164       ],
165     },
166     {
167       'target_name': 'cma_ipc',
168       'type': '<(component)',
169       'dependencies': [
170         '../../base/base.gyp:base',
171       ],
172       'sources': [
173         'cma/ipc/media_memory_chunk.cc',
174         'cma/ipc/media_memory_chunk.h',
175         'cma/ipc/media_message.cc',
176         'cma/ipc/media_message.h',
177         'cma/ipc/media_message_fifo.cc',
178         'cma/ipc/media_message_fifo.h',
179       ],
180     },
181     {
182       'target_name': 'cma_ipc_streamer',
183       'type': '<(component)',
184       'dependencies': [
185         '../../base/base.gyp:base',
186         '../../media/media.gyp:media',
187         'cma_base',
188       ],
189       'sources': [
190         'cma/ipc_streamer/audio_decoder_config_marshaller.cc',
191         'cma/ipc_streamer/audio_decoder_config_marshaller.h',
192         'cma/ipc_streamer/av_streamer_proxy.cc',
193         'cma/ipc_streamer/av_streamer_proxy.h',
194         'cma/ipc_streamer/coded_frame_provider_host.cc',
195         'cma/ipc_streamer/coded_frame_provider_host.h',
196         'cma/ipc_streamer/decoder_buffer_base_marshaller.cc',
197         'cma/ipc_streamer/decoder_buffer_base_marshaller.h',
198         'cma/ipc_streamer/decrypt_config_marshaller.cc',
199         'cma/ipc_streamer/decrypt_config_marshaller.h',
200         'cma/ipc_streamer/video_decoder_config_marshaller.cc',
201         'cma/ipc_streamer/video_decoder_config_marshaller.h',
202       ],
203     },
204     {
205       'target_name': 'cma_pipeline',
206       'type': '<(component)',
207       'dependencies': [
208         'cma_backend',
209         'cma_base',
210         'media_base',
211         'media_cdm',
212         '../../base/base.gyp:base',
213         '../../crypto/crypto.gyp:crypto',
214         '../../media/media.gyp:media',
215         '../../third_party/boringssl/boringssl.gyp:boringssl',
216       ],
217       'sources': [
218         'cma/pipeline/audio_pipeline.cc',
219         'cma/pipeline/audio_pipeline.h',
220         'cma/pipeline/audio_pipeline_impl.cc',
221         'cma/pipeline/audio_pipeline_impl.h',
222         'cma/pipeline/av_pipeline_client.cc',
223         'cma/pipeline/av_pipeline_client.h',
224         'cma/pipeline/av_pipeline_impl.cc',
225         'cma/pipeline/av_pipeline_impl.h',
226         'cma/pipeline/decrypt_util.cc',
227         'cma/pipeline/decrypt_util.h',
228         'cma/pipeline/load_type.h',
229         'cma/pipeline/media_pipeline.h',
230         'cma/pipeline/media_pipeline_client.cc',
231         'cma/pipeline/media_pipeline_client.h',
232         'cma/pipeline/media_pipeline_impl.cc',
233         'cma/pipeline/media_pipeline_impl.h',
234         'cma/pipeline/video_pipeline.cc',
235         'cma/pipeline/video_pipeline.h',
236         'cma/pipeline/video_pipeline_client.cc',
237         'cma/pipeline/video_pipeline_client.h',
238         'cma/pipeline/video_pipeline_impl.cc',
239         'cma/pipeline/video_pipeline_impl.h',
240       ],
241     },
242     {
243       'target_name': 'cma_filters',
244       'type': '<(component)',
245       'dependencies': [
246         '../../base/base.gyp:base',
247         '../../media/media.gyp:media',
248         'cma_base',
249       ],
250       'sources': [
251         'cma/filters/cma_renderer.cc',
252         'cma/filters/cma_renderer.h',
253         'cma/filters/demuxer_stream_adapter.cc',
254         'cma/filters/demuxer_stream_adapter.h',
255         'cma/filters/hole_frame_factory.cc',
256         'cma/filters/hole_frame_factory.h',
257       ],
258     },
259     {
260       'target_name': 'cast_media',
261       'type': 'none',
262       'dependencies': [
263         'cma_backend',
264         'cma_base',
265         'cma_filters',
266         'cma_ipc',
267         'cma_ipc_streamer',
268         'cma_pipeline',
269         'media_cdm',
270       ],
271     },
272     {
273       'target_name': 'cast_media_unittests',
274       'type': '<(gtest_target_type)',
275       'dependencies': [
276         'cast_media',
277         '../../base/base.gyp:base',
278         '../../base/base.gyp:base_i18n',
279         '../../base/base.gyp:test_support_base',
280         '../../chromecast/chromecast.gyp:cast_metrics_test_support',
281         '../../gpu/gpu.gyp:gpu_unittest_utils',
282         '../../media/media.gyp:media_test_support',
283         '../../testing/gmock.gyp:gmock',
284         '../../testing/gtest.gyp:gtest',
285         '../../testing/gtest.gyp:gtest_main',
286         '../../ui/gfx/gfx.gyp:gfx_test_support',
287       ],
288       'sources': [
289         'cdm/chromecast_init_data_unittest.cc',
290         'cma/backend/audio_video_pipeline_device_unittest.cc',
291         'cma/base/balanced_media_task_runner_unittest.cc',
292         'cma/base/buffering_controller_unittest.cc',
293         'cma/base/buffering_frame_provider_unittest.cc',
294         'cma/filters/demuxer_stream_adapter_unittest.cc',
295         'cma/filters/multi_demuxer_stream_adapter_unittest.cc',
296         'cma/ipc/media_message_fifo_unittest.cc',
297         'cma/ipc/media_message_unittest.cc',
298         'cma/ipc_streamer/av_streamer_unittest.cc',
299         'cma/pipeline/audio_video_pipeline_impl_unittest.cc',
300         'cma/test/cma_end_to_end_test.cc',
301         'cma/test/demuxer_stream_for_test.cc',
302         'cma/test/demuxer_stream_for_test.h',
303         'cma/test/frame_generator_for_test.cc',
304         'cma/test/frame_generator_for_test.h',
305         'cma/test/frame_segmenter_for_test.cc',
306         'cma/test/frame_segmenter_for_test.h',
307         'cma/test/media_component_device_feeder_for_test.cc',
308         'cma/test/media_component_device_feeder_for_test.h',
309         'cma/test/mock_frame_consumer.cc',
310         'cma/test/mock_frame_consumer.h',
311         'cma/test/mock_frame_provider.cc',
312         'cma/test/mock_frame_provider.h',
313         'cma/test/run_all_unittests.cc',
314       ],
315     },
316   ], # end of targets
317   'conditions': [
318     ['use_default_libcast_media==1', {
319       'targets': [
320         {
321           'target_name': 'libcast_media_1.0',
322           'type': 'shared_library',
323           'dependencies': [
324             '../../chromecast/chromecast.gyp:cast_public_api'
325           ],
326           'include_dirs': [
327             '../..',
328           ],
329           'sources': [
330             'base/cast_media_default.cc',
331           ],
332         }
333       ]
334     }],
335   ],