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
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'include_tests%': 1,
8    'chromium_code': 1,
9  },
10  'conditions': [
11    ['include_tests==1', {
12      'includes': [ 'cast_testing.gypi' ]
13    }],
14  ],
15  'targets': [
16    {
17      # GN version: //media/cast:common
18      'target_name': 'cast_base',
19      'type': 'static_library',
20      'include_dirs': [
21        '<(DEPTH)/',
22      ],
23      'dependencies': [
24        'cast_logging_proto',
25        '<(DEPTH)/base/base.gyp:base',
26        '<(DEPTH)/crypto/crypto.gyp:crypto',
27        '<(DEPTH)/net/net.gyp:net',
28      ],
29      'export_dependent_settings': [
30        'cast_logging_proto',
31      ],
32      'sources': [
33        'cast_config.cc',
34        'cast_config.h',
35        'cast_defines.h',
36        'cast_environment.cc',
37        'cast_environment.h',
38        'common/clock_drift_smoother.cc',
39        'common/clock_drift_smoother.h',
40        'common/transport_encryption_handler.cc',
41        'common/transport_encryption_handler.h',
42        'logging/encoding_event_subscriber.cc',
43        'logging/encoding_event_subscriber.h',
44        'logging/log_deserializer.cc',
45        'logging/log_deserializer.h',
46        'logging/log_serializer.cc',
47        'logging/log_serializer.h',
48        'logging/logging_defines.cc',
49        'logging/logging_defines.h',
50        'logging/logging_impl.cc',
51        'logging/logging_impl.h',
52        'logging/logging_raw.cc',
53        'logging/logging_raw.h',
54        'logging/raw_event_subscriber.h',
55        'logging/raw_event_subscriber_bundle.cc',
56        'logging/raw_event_subscriber_bundle.h',
57        'logging/receiver_time_offset_estimator.h',
58        'logging/receiver_time_offset_estimator_impl.cc',
59        'logging/receiver_time_offset_estimator_impl.h',
60        'logging/simple_event_subscriber.cc',
61        'logging/simple_event_subscriber.h',
62        'logging/stats_event_subscriber.cc',
63        'logging/stats_event_subscriber.h',
64      ], # source
65    },
66    {
67      # GN version: //media/cast/logging/proto
68      'target_name': 'cast_logging_proto',
69      'type': 'static_library',
70      'include_dirs': [
71        '<(DEPTH)/',
72      ],
73      'sources': [
74        'logging/proto/proto_utils.cc',
75        'logging/proto/raw_events.proto',
76      ],
77      'variables': {
78        'proto_in_dir': 'logging/proto',
79        'proto_out_dir': 'media/cast/logging/proto',
80      },
81      'includes': ['../../build/protoc.gypi'],
82    },
83    {
84      # GN version: //media/cast:receiver
85      'target_name': 'cast_receiver',
86      'type': 'static_library',
87      'include_dirs': [
88        '<(DEPTH)/',
89      ],
90      'dependencies': [
91        'cast_base',
92        'cast_net',
93        '<(DEPTH)/base/base.gyp:base',
94        '<(DEPTH)/media/media.gyp:media',
95        '<(DEPTH)/media/media.gyp:shared_memory_support',
96        '<(DEPTH)/third_party/opus/opus.gyp:opus',
97        '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
98        '<(DEPTH)/ui/gfx/gfx.gyp:gfx_geometry',
99      ],
100      'sources': [
101        'cast_receiver.h',
102        'receiver/audio_decoder.cc',
103        'receiver/audio_decoder.h',
104        'receiver/cast_receiver_impl.cc',
105        'receiver/cast_receiver_impl.h',
106        'receiver/frame_receiver.cc',
107        'receiver/frame_receiver.h',
108        'receiver/video_decoder.cc',
109        'receiver/video_decoder.h',
110        'net/rtp/cast_message_builder.cc',
111        'net/rtp/cast_message_builder.h',
112        'net/rtp/frame_buffer.cc',
113        'net/rtp/frame_buffer.h',
114        'net/rtp/framer.cc',
115        'net/rtp/framer.h',
116        'net/rtp/receiver_stats.cc',
117        'net/rtp/receiver_stats.h',
118        'net/rtp/rtp_parser.cc',
119        'net/rtp/rtp_parser.h',
120        'net/rtp/rtp_receiver_defines.cc',
121        'net/rtp/rtp_receiver_defines.h',
122      ], # source
123      'conditions': [
124        # use a restricted subset of media and no software codecs on iOS
125        ['OS=="ios"', {
126          'dependencies': [ '<(DEPTH)/media/media.gyp:media_for_cast_ios' ],
127          'dependencies!': [
128            '<(DEPTH)/media/media.gyp:media',
129            '<(DEPTH)/third_party/opus/opus.gyp:opus',
130            '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
131          ],
132        }], # OS=="ios"
133      ], # conditions
134    },
135    {
136      # GN version: //media/cast:sender
137      'target_name': 'cast_sender',
138      'type': 'static_library',
139      'include_dirs': [
140        '<(DEPTH)/',
141      ],
142      'dependencies': [
143        'cast_base',
144        'cast_net',
145        '<(DEPTH)/media/media.gyp:media',
146        '<(DEPTH)/media/media.gyp:shared_memory_support',
147        '<(DEPTH)/third_party/opus/opus.gyp:opus',
148        '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
149      ], # dependencies
150      'sources': [
151        'cast_sender.h',
152        'cast_sender_impl.cc',
153        'cast_sender_impl.h',
154        'sender/audio_encoder.h',
155        'sender/audio_encoder.cc',
156        'sender/audio_sender.h',
157        'sender/audio_sender.cc',
158        'sender/congestion_control.h',
159        'sender/congestion_control.cc',
160        'sender/external_video_encoder.h',
161        'sender/external_video_encoder.cc',
162        'sender/fake_software_video_encoder.h',
163        'sender/fake_software_video_encoder.cc',
164        'sender/frame_sender.cc',
165        'sender/frame_sender.h',
166        'sender/software_video_encoder.h',
167        'sender/video_encoder.h',
168        'sender/video_encoder_impl.h',
169        'sender/video_encoder_impl.cc',
170        'sender/video_sender.h',
171        'sender/video_sender.cc',
172        'sender/vp8_encoder.cc',
173        'sender/vp8_encoder.h',
174      ], # source
175      'conditions': [
176        # use a restricted subset of media and no software codecs on iOS
177        ['OS=="ios"', {
178          'dependencies': [ '<(DEPTH)/media/media.gyp:media_for_cast_ios' ],
179          'dependencies!': [
180            '<(DEPTH)/media/media.gyp:media',
181            '<(DEPTH)/third_party/opus/opus.gyp:opus',
182            '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
183          ],
184          'sources!': [
185            'sender/external_video_encoder.h',
186            'sender/external_video_encoder.cc',
187            'sender/video_encoder_impl.h',
188            'sender/video_encoder_impl.cc',
189            'sender/vp8_encoder.cc',
190            'sender/vp8_encoder.h',
191          ],
192        }], # OS=="ios"
193      ], # conditions
194    },
195    {
196      # GN version: //media/cast:net
197      'target_name': 'cast_net',
198      'type': 'static_library',
199      'include_dirs': [
200        '<(DEPTH)/',
201      ],
202      'dependencies': [
203        'cast_base',
204        '<(DEPTH)/base/base.gyp:base',
205        '<(DEPTH)/net/net.gyp:net',
206      ],
207      'sources': [
208        'net/cast_transport_config.cc',
209        'net/cast_transport_config.h',
210        'net/cast_transport_defines.h',
211        'net/cast_transport_sender.h',
212        'net/cast_transport_sender_impl.cc',
213        'net/cast_transport_sender_impl.h',
214        'net/pacing/paced_sender.cc',
215        'net/pacing/paced_sender.h',
216        'net/rtcp/receiver_rtcp_event_subscriber.cc',
217        'net/rtcp/rtcp_builder.cc',
218        'net/rtcp/rtcp_builder.h',
219        'net/rtcp/rtcp_defines.cc',
220        'net/rtcp/rtcp_defines.h',
221        'net/rtcp/rtcp.h',
222        'net/rtcp/rtcp.cc',
223        'net/rtcp/rtcp_utility.cc',
224        'net/rtcp/rtcp_utility.h',
225        'net/rtp/packet_storage.cc',
226        'net/rtp/packet_storage.h',
227        'net/rtp/rtp_packetizer.cc',
228        'net/rtp/rtp_packetizer.h',
229        'net/rtp/rtp_sender.cc',
230        'net/rtp/rtp_sender.h',
231        'net/udp_transport.cc',
232        'net/udp_transport.h',
233      ], # source
234    },
235  ],
236}
237