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.
4
5{
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        '../../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
16      ],
17      'sources': [
18        'base/key_systems_common.cc',
19        'base/key_systems_common.h',
20      ],
21      'conditions': [
22        ['chromecast_branding=="Chrome"', {
23          'dependencies': [
24            'internal/chromecast_internal.gyp:media_base_internal',
25          ],
26        }, {
27          'sources': [
28            'base/key_systems_common_simple.cc',
29          ],
30        }],
31      ],
32    },
33    {
34      'target_name': 'cma_base',
35      'type': '<(component)',
36      'dependencies': [
37        '../../base/base.gyp:base',
38        '../../media/media.gyp:media',
39      ],
40      'include_dirs': [
41        '../..',
42      ],
43      'sources': [
44        'cma/base/balanced_media_task_runner_factory.cc',
45        'cma/base/balanced_media_task_runner_factory.h',
46        'cma/base/buffering_controller.cc',
47        'cma/base/buffering_controller.h',
48        'cma/base/buffering_frame_provider.cc',
49        'cma/base/buffering_frame_provider.h',
50        'cma/base/buffering_state.cc',
51        'cma/base/buffering_state.h',
52        'cma/base/cma_logging.h',
53        'cma/base/coded_frame_provider.cc',
54        'cma/base/coded_frame_provider.h',
55        'cma/base/decoder_buffer_adapter.cc',
56        'cma/base/decoder_buffer_adapter.h',
57        'cma/base/decoder_buffer_base.cc',
58        'cma/base/decoder_buffer_base.h',
59        'cma/base/media_task_runner.cc',
60        'cma/base/media_task_runner.h',
61      ],
62    },
63    {
64      'target_name': 'cma_ipc',
65      'type': '<(component)',
66      'dependencies': [
67        '../../base/base.gyp:base',
68      ],
69      'sources': [
70        'cma/ipc/media_memory_chunk.cc',
71        'cma/ipc/media_memory_chunk.h',
72        'cma/ipc/media_message.cc',
73        'cma/ipc/media_message.h',
74        'cma/ipc/media_message_fifo.cc',
75        'cma/ipc/media_message_fifo.h',
76      ],
77    },
78    {
79      'target_name': 'cma_ipc_streamer',
80      'type': '<(component)',
81      'dependencies': [
82        '../../base/base.gyp:base',
83        '../../media/media.gyp:media',
84        'cma_base',
85      ],
86      'sources': [
87        'cma/ipc_streamer/audio_decoder_config_marshaller.cc',
88        'cma/ipc_streamer/audio_decoder_config_marshaller.h',
89        'cma/ipc_streamer/av_streamer_proxy.cc',
90        'cma/ipc_streamer/av_streamer_proxy.h',
91        'cma/ipc_streamer/coded_frame_provider_host.cc',
92        'cma/ipc_streamer/coded_frame_provider_host.h',
93        'cma/ipc_streamer/decoder_buffer_base_marshaller.cc',
94        'cma/ipc_streamer/decoder_buffer_base_marshaller.h',
95        'cma/ipc_streamer/decrypt_config_marshaller.cc',
96        'cma/ipc_streamer/decrypt_config_marshaller.h',
97        'cma/ipc_streamer/video_decoder_config_marshaller.cc',
98        'cma/ipc_streamer/video_decoder_config_marshaller.h',
99      ],
100    },
101    {
102      'target_name': 'cma_filters',
103      'type': '<(component)',
104      'dependencies': [
105        '../../base/base.gyp:base',
106        '../../media/media.gyp:media',
107        'cma_base',
108      ],
109      'sources': [
110        'cma/filters/demuxer_stream_adapter.cc',
111        'cma/filters/demuxer_stream_adapter.h',
112      ],
113    },
114    {
115      'target_name': 'cast_media',
116      'type': 'none',
117      'dependencies': [
118        'cma_base',
119        'cma_filters',
120        'cma_ipc',
121        'cma_ipc_streamer',
122      ],
123    },
124    {
125      'target_name': 'cast_media_unittests',
126      'type': '<(gtest_target_type)',
127      'dependencies': [
128        'cast_media',
129        '../../base/base.gyp:base',
130        '../../base/base.gyp:base_i18n',
131        '../../base/base.gyp:test_support_base',
132        '../../testing/gmock.gyp:gmock',
133        '../../testing/gtest.gyp:gtest',
134        '../../testing/gtest.gyp:gtest_main',
135      ],
136      'sources': [
137        'cma/base/balanced_media_task_runner_unittest.cc',
138        'cma/base/buffering_controller_unittest.cc',
139        'cma/base/buffering_frame_provider_unittest.cc',
140        'cma/base/frame_generator_for_test.cc',
141        'cma/base/frame_generator_for_test.h',
142        'cma/base/mock_frame_consumer.cc',
143        'cma/base/mock_frame_consumer.h',
144        'cma/base/mock_frame_provider.cc',
145        'cma/base/mock_frame_provider.h',
146        'cma/base/run_all_unittests.cc',
147        'cma/filters/demuxer_stream_adapter_unittest.cc',
148        'cma/ipc/media_message_fifo_unittest.cc',
149        'cma/ipc/media_message_unittest.cc',
150        'cma/ipc_streamer/av_streamer_unittest.cc',
151      ],
152    },
153  ],
154}
155