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