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