blob: 69de9265169bf5bc983280622cfb98fc9efcbf49 [file] [log] [blame]
kjellanderc76dc952016-06-03 10:09:321# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("//build/config/linux/pkg_config.gni")
philipel2a2f3ec2022-05-24 08:32:3210import("//third_party/libaom/options.gni")
mbonadei9aa3f0a2017-01-24 14:58:2211import("../webrtc.gni")
kjellanderc76dc952016-06-03 10:09:3212
13group("media") {
Dan Minor9c686132018-01-15 15:20:0014 deps = []
15 if (!build_with_mozilla) {
16 deps += [
17 ":rtc_media",
18 ":rtc_media_base",
19 ]
20 }
kjellanderc76dc952016-06-03 10:09:3221}
22
23config("rtc_media_defines_config") {
Fredrik Solenberge1dcce22019-02-05 11:43:0324 defines = [ "HAVE_WEBRTC_VIDEO" ]
kjellanderc76dc952016-06-03 10:09:3225}
26
Niels Möller6daa2782018-01-23 09:37:4227rtc_source_set("rtc_media_config") {
28 visibility = [ "*" ]
Mirko Bonadeiccbe95f2020-01-21 11:10:1029 sources = [ "base/media_config.h" ]
Niels Möller6daa2782018-01-23 09:37:4230}
31
Johannes Kronc3fcee72021-04-19 07:09:2632rtc_library("rtc_sdp_video_format_utils") {
Johannes Kronc8f31342019-12-19 14:05:2033 visibility = [ "*" ]
34 sources = [
Johannes Kronc3fcee72021-04-19 07:09:2635 "base/sdp_video_format_utils.cc",
36 "base/sdp_video_format_utils.h",
Johannes Kronc8f31342019-12-19 14:05:2037 ]
38
39 deps = [
Philipp Hancke7c5f9cf2024-02-20 14:28:1440 ":media_constants",
Johannes Kronc8f31342019-12-19 14:05:2041 "../api/video_codecs:video_codecs_api",
Johannes Kronc3fcee72021-04-19 07:09:2642 "../rtc_base:checks",
Johannes Kronc8f31342019-12-19 14:05:2043 "../rtc_base:stringutils",
Philipp Hancke7c5f9cf2024-02-20 14:28:1444 "//third_party/abseil-cpp/absl/algorithm:container",
Philipp Hancke7c5f9cf2024-02-20 14:28:1445 ]
Johannes Kronc8f31342019-12-19 14:05:2046}
47
Mirko Bonadei86d053c2019-10-17 19:32:0448rtc_library("rtc_media_base") {
Per Kjellandera7f2d842018-01-10 15:54:5349 visibility = [ "*" ]
kjellanderc76dc952016-06-03 10:09:3250 defines = []
51 libs = []
Harald Alvestrandfb4ad292024-02-28 11:01:2552 sources = [
Harald Alvestrandfb4ad292024-02-28 11:01:2553 "base/adapted_video_track_source.h", # Used downstream
Harald Alvestrandfb4ad292024-02-28 11:01:2554 "base/video_adapter.h", # Used once downstream
Harald Alvestrandfb4ad292024-02-28 11:01:2555 "base/video_broadcaster.h", # Used downstream
Harald Alvestrandfb4ad292024-02-28 11:01:2556 "base/video_common.h", # Used downstream
57 ]
Patrik Höglunda8005cf2017-12-13 15:05:4258 deps = [
Harald Alvestrandafaae4e2024-03-12 12:06:1659 ":adapted_video_track_source",
Harald Alvestrand794d5992022-12-16 09:54:5760 ":codec",
61 ":media_channel",
62 ":media_channel_impl",
63 ":rid_description",
Danil Chapovalov6fe6b5a2019-04-10 10:50:2464 ":rtc_media_config",
Harald Alvestrand794d5992022-12-16 09:54:5765 ":rtp_utils",
66 ":stream_params",
Harald Alvestrandafaae4e2024-03-12 12:06:1667 ":video_adapter",
68 ":video_broadcaster",
69 ":video_common",
Harald Alvestrandfb4ad292024-02-28 11:01:2570 ":video_source_base",
Yves Gerey3e707812018-11-28 15:47:4971 "../api:array_view",
Niels Möllera6fe2612018-01-19 10:28:5472 "../api:audio_options_api",
Harald Alvestrand50454ef2022-12-15 16:49:1373 "../api:call_api",
Jonas Orelande62c2f22022-03-29 09:04:4874 "../api:field_trials_view",
Marina Cioceae77912b2020-02-27 15:16:5575 "../api:frame_transformer_interface",
Niels Möllere942b142019-09-17 12:30:4176 "../api:media_stream_interface",
Mirko Bonadeifcfeefe2019-09-10 08:51:2377 "../api:rtc_error",
Niels Möller6dcd4dc2019-08-26 08:45:2878 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:1679 "../api:rtp_sender_interface",
Mirko Bonadeid9708072019-01-25 19:26:4880 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:2481 "../api:sequence_checker",
Harald Alvestrandc0d44d92022-12-13 12:57:2482 "../api:transport_api",
Olga Sharonova09ceed22020-09-30 16:27:3983 "../api/audio:audio_frame_processor",
Danil Chapovalov6fe6b5a2019-04-10 10:50:2484 "../api/audio_codecs:audio_codecs_api",
Mirko Bonadeieaaaf412019-09-13 12:42:1585 "../api/crypto:frame_decryptor_interface",
86 "../api/crypto:frame_encryptor_interface",
87 "../api/crypto:options",
Harald Alvestrandc0d44d92022-12-13 12:57:2488 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:4589 "../api/task_queue:pending_task_safety_flag",
Florent Castellid95b1492021-05-10 09:29:5690 "../api/transport:datagram_transport_interface",
Patrik Höglund56d94522019-11-18 14:53:3291 "../api/transport:stun_types",
Niels Möllera8370302019-09-02 13:16:4992 "../api/transport/rtp:rtp_source",
Ivo Creusen2562cf02021-09-03 14:51:2293 "../api/units:time_delta",
Harald Alvestrand50454ef2022-12-15 16:49:1394 "../api/video:recordable_encoded_frame",
Henrik Boström825e4f12024-09-17 13:13:3695 "../api/video:resolution",
Danil Chapovalov6fe6b5a2019-04-10 10:50:2496 "../api/video:video_bitrate_allocation",
Jonas Orelanda3aa9bd2019-04-17 05:38:4097 "../api/video:video_bitrate_allocator_factory",
Danil Chapovalov6fe6b5a2019-04-10 10:50:2498 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:3899 "../api/video:video_rtp_headers",
Evan Shrubsole9b235cd2022-12-06 10:09:10100 "../api/video_codecs:scalability_mode",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24101 "../api/video_codecs:video_codecs_api",
102 "../call:call_interfaces",
103 "../common_video",
Olga Sharonova09ceed22020-09-30 16:27:39104 "../modules/async_audio_processing",
Fredrik Hernqvistefbe7532023-01-13 15:42:36105 "../modules/audio_device",
Henrik Boström87e3f9d2019-05-27 08:44:24106 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia138c6c2023-01-04 11:01:09107 "../rtc_base:async_packet_socket",
Florent Castellif9c59842022-04-19 15:07:23108 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:36109 "../rtc_base:byte_order",
Patrik Höglunda8005cf2017-12-13 15:05:42110 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46111 "../rtc_base:copy_on_write_buffer",
Florent Castellia138c6c2023-01-04 11:01:09112 "../rtc_base:dscp",
Florent Castelli0af55ba2022-04-04 13:06:30113 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46114 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09115 "../rtc_base:network_route",
Patrik Höglunda8005cf2017-12-13 15:05:42116 "../rtc_base:sanitizer",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01117 "../rtc_base:socket",
Patrik Höglund3e113432017-12-15 13:40:10118 "../rtc_base:stringutils",
Florent Castellidd837e22022-04-04 15:16:15119 "../rtc_base:timeutils",
Florent Castellia138c6c2023-01-04 11:01:09120 "../rtc_base:unique_id_generator",
Harald Alvestrandc0d44d92022-12-13 12:57:24121 "../rtc_base/network:sent_packet",
Markus Handell1e257ca2020-07-07 13:43:11122 "../rtc_base/synchronization:mutex",
Niels Möllere8e4dc42019-06-11 12:04:16123 "../rtc_base/system:file_wrapper",
Tommi816134a2021-05-24 14:54:41124 "../rtc_base/system:no_unique_address",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24125 "../rtc_base/system:rtc_export",
126 "../rtc_base/third_party/sigslot",
Jonas Oreland6c2dae22022-09-29 08:28:24127 "../video/config:encoder_config",
Evan Shrubsole75896892024-11-06 15:14:40128 "//third_party/abseil-cpp/absl/base:core_headers",
Patrik Höglunda8005cf2017-12-13 15:05:42129 ]
Harald Alvestrandfb4ad292024-02-28 11:01:25130}
131
Harald Alvestrandafaae4e2024-03-12 12:06:16132rtc_library("adapted_video_track_source") {
133 sources = [
134 "base/adapted_video_track_source.cc",
135 "base/adapted_video_track_source.h",
136 ]
137 deps = [
138 ":video_adapter",
139 ":video_broadcaster",
140 "../api:media_stream_interface",
141 "../api:scoped_refptr",
142 "../api/video:video_frame",
143 "../api/video:video_rtp_headers",
144 "../rtc_base:checks",
145 "../rtc_base:macromagic",
146 "../rtc_base:timeutils",
147 "../rtc_base/synchronization:mutex",
148 "../rtc_base/system:rtc_export",
149 ]
Harald Alvestrandafaae4e2024-03-12 12:06:16150}
151
Harald Alvestrandfb4ad292024-02-28 11:01:25152rtc_source_set("audio_source") {
153 sources = [ "base/audio_source.h" ]
Harald Alvestrandafaae4e2024-03-12 12:06:16154}
155
156rtc_library("video_adapter") {
157 sources = [
158 "base/video_adapter.cc",
159 "base/video_adapter.h",
160 ]
161 deps = [
162 ":video_common",
Henrik Boström825e4f12024-09-17 13:13:36163 "../api/video:resolution",
Harald Alvestrandafaae4e2024-03-12 12:06:16164 "../api/video:video_frame",
165 "../common_video",
166 "../rtc_base:checks",
167 "../rtc_base:logging",
168 "../rtc_base:macromagic",
169 "../rtc_base:stringutils",
170 "../rtc_base:timeutils",
171 "../rtc_base/synchronization:mutex",
172 "../rtc_base/system:rtc_export",
173 "../system_wrappers:field_trial",
174 ]
Harald Alvestrandfb4ad292024-02-28 11:01:25175}
176
177rtc_library("video_source_base") {
kjellanderc76dc952016-06-03 10:09:32178 sources = [
Steve Anton10542f22019-01-11 17:11:00179 "base/video_source_base.cc",
180 "base/video_source_base.h",
magjed0928a3c2016-11-25 08:40:18181 ]
Harald Alvestrandfb4ad292024-02-28 11:01:25182 deps = [
183 "../api:sequence_checker",
184 "../api/video:video_frame",
185 "../rtc_base:checks",
186 "../rtc_base/system:no_unique_address",
Florent Castelli99c519b2024-05-23 11:21:53187 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrandfb4ad292024-02-28 11:01:25188 ]
Harald Alvestrandfb4ad292024-02-28 11:01:25189}
190
Harald Alvestrandafaae4e2024-03-12 12:06:16191rtc_library("video_broadcaster") {
192 sources = [
193 "base/video_broadcaster.cc",
194 "base/video_broadcaster.h", # Used downstream
195 ]
196 deps = [
197 ":video_common",
198 ":video_source_base",
199 "../api:media_stream_interface",
200 "../api:scoped_refptr",
201 "../api:sequence_checker",
Evan Shrubsole75896892024-11-06 15:14:40202 "../api:video_track_source_constraints",
Harald Alvestrandafaae4e2024-03-12 12:06:16203 "../api/video:video_frame",
204 "../api/video:video_rtp_headers",
205 "../rtc_base:checks",
206 "../rtc_base:logging",
207 "../rtc_base:macromagic",
208 "../rtc_base/synchronization:mutex",
209 ]
Harald Alvestrandafaae4e2024-03-12 12:06:16210}
211
212rtc_library("video_common") {
213 sources = [
214 "base/video_common.cc",
215 "base/video_common.h",
216 ]
217 deps = [
218 "../api:array_view",
219 "../rtc_base:checks",
220 "../rtc_base:macromagic",
221 "../rtc_base:stringutils",
222 "../rtc_base:timeutils",
223 "../rtc_base/system:rtc_export",
Evan Shrubsole75896892024-11-06 15:14:40224 "//third_party/abseil-cpp/absl/base:core_headers",
Harald Alvestrandafaae4e2024-03-12 12:06:16225 ]
226}
227
Harald Alvestrandfb4ad292024-02-28 11:01:25228rtc_library("media_engine") {
229 sources = [
230 "base/media_engine.cc",
231 "base/media_engine.h",
232 ]
233 deps = [
234 ":codec",
235 ":media_channel",
236 ":media_channel_impl",
Harald Alvestrandfb4ad292024-02-28 11:01:25237 ":rtc_media_config",
Harald Alvestrandc17ca012024-09-03 11:20:36238 ":stream_params",
Harald Alvestrandafaae4e2024-03-12 12:06:16239 ":video_common",
Harald Alvestrandc17ca012024-09-03 11:20:36240 "../api:array_view",
241 "../api:audio_options_api",
Harald Alvestrandfb4ad292024-02-28 11:01:25242 "../api:field_trials_view",
Harald Alvestrandc17ca012024-09-03 11:20:36243 "../api:rtc_error",
Harald Alvestrandfb4ad292024-02-28 11:01:25244 "../api:rtp_parameters",
Harald Alvestrandc17ca012024-09-03 11:20:36245 "../api:scoped_refptr",
246 "../api/audio:audio_device",
Harald Alvestrandfb4ad292024-02-28 11:01:25247 "../api/audio_codecs:audio_codecs_api",
248 "../api/crypto:options",
249 "../api/video:video_bitrate_allocation",
250 "../api/video:video_bitrate_allocator_factory",
251 "../call:call_interfaces",
252 "../rtc_base:checks",
253 "../rtc_base:stringutils",
254 "../rtc_base/system:file_wrapper",
Florent Castelli99c519b2024-05-23 11:21:53255 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrandfb4ad292024-02-28 11:01:25256 ]
magjed0928a3c2016-11-25 08:40:18257}
258
Harald Alvestrand794d5992022-12-16 09:54:57259rtc_library("media_channel_impl") {
260 sources = [
261 "base/media_channel_impl.cc",
262 "base/media_channel_impl.h",
263 ]
264 deps = [
265 ":codec",
266 ":media_channel",
267 ":rtp_utils",
268 ":stream_params",
269 "../api:audio_options_api",
270 "../api:call_api",
271 "../api:frame_transformer_interface",
272 "../api:media_stream_interface",
273 "../api:rtc_error",
Harald Alvestrand13897e62023-05-22 12:49:05274 "../api:rtp_headers",
Harald Alvestrand794d5992022-12-16 09:54:57275 "../api:rtp_parameters",
276 "../api:rtp_sender_interface",
277 "../api:scoped_refptr",
278 "../api:sequence_checker",
279 "../api:transport_api",
280 "../api/crypto:frame_decryptor_interface",
281 "../api/crypto:frame_encryptor_interface",
282 "../api/task_queue",
283 "../api/task_queue:pending_task_safety_flag",
284 "../api/transport/rtp:rtp_source",
285 "../api/units:time_delta",
286 "../api/video:recordable_encoded_frame",
287 "../api/video:video_frame",
288 "../api/video:video_rtp_headers",
289 "../api/video_codecs:scalability_mode",
290 "../api/video_codecs:video_codecs_api",
291 "../common_video",
292 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia138c6c2023-01-04 11:01:09293 "../rtc_base:async_packet_socket",
Harald Alvestrand794d5992022-12-16 09:54:57294 "../rtc_base:checks",
295 "../rtc_base:copy_on_write_buffer",
Florent Castellia138c6c2023-01-04 11:01:09296 "../rtc_base:dscp",
Harald Alvestrand794d5992022-12-16 09:54:57297 "../rtc_base:logging",
298 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09299 "../rtc_base:network_route",
Harald Alvestrand794d5992022-12-16 09:54:57300 "../rtc_base:socket",
301 "../rtc_base/network:sent_packet",
Harald Alvestrand794d5992022-12-16 09:54:57302 "//third_party/abseil-cpp/absl/functional:any_invocable",
Florent Castelli99c519b2024-05-23 11:21:53303 "//third_party/abseil-cpp/absl/strings:string_view",
Harald Alvestrand794d5992022-12-16 09:54:57304 ]
305}
306
307rtc_source_set("media_channel") {
308 sources = [ "base/media_channel.h" ]
309 deps = [
310 ":codec",
Harald Alvestrand794d5992022-12-16 09:54:57311 ":media_constants",
312 ":rtp_utils",
313 ":stream_params",
314 "../api:audio_options_api",
315 "../api:call_api",
316 "../api:frame_transformer_interface",
317 "../api:media_stream_interface",
318 "../api:rtc_error",
Harald Alvestrand97c96232023-05-30 04:04:07319 "../api:rtp_headers",
Harald Alvestrand794d5992022-12-16 09:54:57320 "../api:rtp_parameters",
321 "../api:rtp_sender_interface",
Harald Alvestrand97c96232023-05-30 04:04:07322 "../api:scoped_refptr",
Florent Castelli0afde762024-04-19 15:07:08323 "../api/audio:audio_processing_statistics",
Harald Alvestrand794d5992022-12-16 09:54:57324 "../api/audio_codecs:audio_codecs_api",
325 "../api/crypto:frame_decryptor_interface",
326 "../api/crypto:frame_encryptor_interface",
327 "../api/task_queue:pending_task_safety_flag",
328 "../api/transport:datagram_transport_interface",
329 "../api/transport/rtp:rtp_source",
330 "../api/units:time_delta",
Danil Chapovalov54e95bc2023-06-02 12:54:45331 "../api/units:timestamp",
Harald Alvestrand97c96232023-05-30 04:04:07332 "../api/video:recordable_encoded_frame",
Harald Alvestrand794d5992022-12-16 09:54:57333 "../api/video:video_frame",
334 "../api/video:video_rtp_headers",
335 "../api/video_codecs:scalability_mode",
336 "../api/video_codecs:video_codecs_api",
Harald Alvestrand794d5992022-12-16 09:54:57337 "../common_video",
Harald Alvestrand794d5992022-12-16 09:54:57338 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia138c6c2023-01-04 11:01:09339 "../rtc_base:async_packet_socket",
Harald Alvestrand794d5992022-12-16 09:54:57340 "../rtc_base:buffer",
Harald Alvestrand97c96232023-05-30 04:04:07341 "../rtc_base:checks",
Harald Alvestrand794d5992022-12-16 09:54:57342 "../rtc_base:copy_on_write_buffer",
Florent Castellia138c6c2023-01-04 11:01:09343 "../rtc_base:dscp",
Harald Alvestrand794d5992022-12-16 09:54:57344 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09345 "../rtc_base:network_route",
Harald Alvestrand794d5992022-12-16 09:54:57346 "../rtc_base:socket",
347 "../rtc_base:stringutils",
Harald Alvestrand97c96232023-05-30 04:04:07348 "../rtc_base/network:sent_packet",
Harald Alvestrand794d5992022-12-16 09:54:57349 "../video/config:encoder_config",
Harald Alvestranddc56a362024-09-07 20:38:29350 "//third_party/abseil-cpp/absl/functional:any_invocable",
351 "//third_party/abseil-cpp/absl/strings:string_view",
Harald Alvestrand97c96232023-05-30 04:04:07352 ]
Harald Alvestrand794d5992022-12-16 09:54:57353}
354
Harald Alvestrand794d5992022-12-16 09:54:57355rtc_library("codec") {
356 sources = [
357 "base/codec.cc",
358 "base/codec.h",
Harald Alvestrand19bbd6f2024-10-09 14:05:51359
360 # Because Codec::Matches uses a function from codec_comparators,
361 # there's a mutual dependency between these two files.
362 "base/codec_comparators.cc",
363 "base/codec_comparators.h",
Harald Alvestrand794d5992022-12-16 09:54:57364 ]
365 deps = [
366 ":media_constants",
Harald Alvestrand794d5992022-12-16 09:54:57367 "../api:rtp_parameters",
Florent Castelliee97e6a2023-06-20 17:12:57368 "../api/audio_codecs:audio_codecs_api",
Harald Alvestrand6431a642024-06-04 21:29:14369 "../api/video_codecs:scalability_mode",
Harald Alvestrand794d5992022-12-16 09:54:57370 "../api/video_codecs:video_codecs_api",
371 "../rtc_base:checks",
372 "../rtc_base:logging",
373 "../rtc_base:stringutils",
374 "../rtc_base/system:rtc_export",
Harald Alvestrand794d5992022-12-16 09:54:57375 "//third_party/abseil-cpp/absl/algorithm:container",
376 "//third_party/abseil-cpp/absl/container:inlined_vector",
Harald Alvestrandbd42ee82024-10-11 09:59:01377 "//third_party/abseil-cpp/absl/functional:any_invocable",
Harald Alvestrand794d5992022-12-16 09:54:57378 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrand3203b622024-10-10 12:31:47379 "//third_party/abseil-cpp/absl/strings:str_format",
Florent Castelli99c519b2024-05-23 11:21:53380 "//third_party/abseil-cpp/absl/strings:string_view",
Harald Alvestrand794d5992022-12-16 09:54:57381 ]
382}
383
384rtc_library("rtp_utils") {
385 sources = [
386 "base/rtp_utils.cc",
387 "base/rtp_utils.h",
388 ]
389 deps = [
390 ":turn_utils",
391 "../api:array_view",
392 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia138c6c2023-01-04 11:01:09393 "../rtc_base:async_packet_socket",
Harald Alvestrand794d5992022-12-16 09:54:57394 "../rtc_base:byte_order",
395 "../rtc_base:checks",
Philipp Hancke57dbb1e2024-05-14 15:35:24396 "../rtc_base:digest",
Harald Alvestrand794d5992022-12-16 09:54:57397 "../rtc_base/system:rtc_export",
Florent Castelli99c519b2024-05-23 11:21:53398 "//third_party/abseil-cpp/absl/strings:string_view",
Harald Alvestrand794d5992022-12-16 09:54:57399 ]
Harald Alvestrand794d5992022-12-16 09:54:57400}
401
402rtc_library("stream_params") {
403 sources = [
404 "base/stream_params.cc",
405 "base/stream_params.h",
406 ]
407 deps = [
408 ":rid_description",
409 "../api:array_view",
Harald Alvestrand794d5992022-12-16 09:54:57410 "../rtc_base:stringutils",
Florent Castellia138c6c2023-01-04 11:01:09411 "../rtc_base:unique_id_generator",
Florent Castelli99c519b2024-05-23 11:21:53412 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand794d5992022-12-16 09:54:57413 ]
Harald Alvestrand794d5992022-12-16 09:54:57414}
415
416rtc_library("media_constants") {
417 sources = [
418 "base/media_constants.cc",
419 "base/media_constants.h",
420 ]
421 deps = [ "../rtc_base/system:rtc_export" ]
422}
423
424rtc_library("turn_utils") {
425 sources = [
426 "base/turn_utils.cc",
427 "base/turn_utils.h",
428 ]
429 deps = [
430 "../api/transport:stun_types",
431 "../rtc_base:byte_order",
432 "../rtc_base/system:rtc_export",
433 ]
434}
435
436rtc_library("rid_description") {
437 sources = [
438 "base/rid_description.cc",
439 "base/rid_description.h",
440 ]
441 deps = []
442}
443
Mirko Bonadei86d053c2019-10-17 19:32:04444rtc_library("rtc_simulcast_encoder_adapter") {
Jonathan Yu9a5da492018-10-19 07:51:18445 visibility = [ "*" ]
446 defines = []
447 libs = []
448 sources = [
449 "engine/simulcast_encoder_adapter.cc",
450 "engine/simulcast_encoder_adapter.h",
451 ]
452 deps = [
Philipp Hancke7c5f9cf2024-02-20 14:28:14453 ":rtc_sdp_video_format_utils",
Harald Alvestrandafaae4e2024-03-12 12:06:16454 ":video_common",
Evan Shrubsole479e0662024-06-25 13:54:45455 "../api:array_view",
Elad Alon8f01c4e2019-06-28 13:19:43456 "../api:fec_controller_api",
Jeremy Leconte1a8d5292023-10-10 13:21:29457 "../api:field_trials_view",
Mirko Bonadeid9708072019-01-25 19:26:48458 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24459 "../api:sequence_checker",
Danil Chapovalov27253172024-03-12 15:58:18460 "../api/environment",
Evan Shrubsole479e0662024-06-25 13:54:45461 "../api/units:data_rate",
462 "../api/units:timestamp",
463 "../api/video:encoded_image",
464 "../api/video:video_bitrate_allocation",
465 "../api/video:video_bitrate_allocator",
Erik Språngf93eda12019-01-16 16:10:57466 "../api/video:video_codec_constants",
Yves Gerey3e707812018-11-28 15:47:49467 "../api/video:video_frame",
Evan Shrubsole479e0662024-06-25 13:54:45468 "../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 10:59:38469 "../api/video:video_rtp_headers",
Erik Språngf4e0c292019-10-01 16:50:03470 "../api/video_codecs:rtc_software_fallback_wrappers",
Evan Shrubsole479e0662024-06-25 13:54:45471 "../api/video_codecs:scalability_mode",
Jonathan Yu9a5da492018-10-19 07:51:18472 "../api/video_codecs:video_codecs_api",
Åsa Persson59947d22021-08-26 10:04:27473 "../common_video",
Sergey Silkinb6ef1a72023-10-23 15:11:21474 "../media:media_constants",
Jonathan Yu9a5da492018-10-19 07:51:18475 "../modules/video_coding:video_codec_interface",
476 "../modules/video_coding:video_coding_utility",
477 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30478 "../rtc_base:logging",
Evan Shrubsolee6f0c2f2024-11-06 13:33:21479 "../rtc_base:stringutils",
Åsa Perssona7e34d32021-01-20 14:36:13480 "../rtc_base/experiments:encoder_info_settings",
Erik Språng7f24fb92019-02-13 09:49:37481 "../rtc_base/experiments:rate_control_settings",
Mirko Bonadei20e4c802020-11-23 10:07:42482 "../rtc_base/system:no_unique_address",
Mirko Bonadei66e76792019-04-02 09:33:59483 "../rtc_base/system:rtc_export",
Jonathan Yu9a5da492018-10-19 07:51:18484 "../system_wrappers",
Erik Språng5ab6a8c2021-01-14 15:37:26485 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov27253172024-03-12 15:58:18486 "//third_party/abseil-cpp/absl/base:nullability",
Erik Språng5ab6a8c2021-01-14 15:37:26487 ]
Jonathan Yu9a5da492018-10-19 07:51:18488}
489
Mirko Bonadei86d053c2019-10-17 19:32:04490rtc_library("rtc_internal_video_codecs") {
Per Kjellandera0f5f602018-01-10 15:57:32491 visibility = [ "*" ]
Karl Wiberg7ba22b82018-04-27 02:31:53492 allow_poison = [ "software_video_codecs" ]
Anders Carlssona114c882018-01-04 14:10:22493 defines = []
494 libs = []
Patrik Höglund99175c62018-01-08 10:05:10495 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57496 ":codec",
497 ":media_constants",
Jonathan Yu9a5da492018-10-19 07:51:18498 ":rtc_simulcast_encoder_adapter",
Danil Chapovalov46364192024-02-09 11:43:15499 "../api/environment",
Yves Gerey3e707812018-11-28 15:47:49500 "../api/video:encoded_image",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24501 "../api/video:video_bitrate_allocation",
Yves Gerey3e707812018-11-28 15:47:49502 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38503 "../api/video:video_rtp_headers",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24504 "../api/video_codecs:rtc_software_fallback_wrappers",
Qiu Jianlinc79be572024-11-14 12:51:07505 "../api/video_codecs:scalability_mode",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24506 "../api/video_codecs:video_codecs_api",
philipel2a2f3ec2022-05-24 08:32:32507 "../api/video_codecs:video_encoder_factory_template",
508 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
509 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
510 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24511 "../call:call_interfaces",
Patrik Höglund99175c62018-01-08 10:05:10512 "../modules/video_coding:video_codec_interface",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24513 "../modules/video_coding:webrtc_h264",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24514 "../modules/video_coding:webrtc_vp8",
515 "../modules/video_coding:webrtc_vp9",
516 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30517 "../rtc_base:logging",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24518 "../rtc_base/system:rtc_export",
philipelb09d8722021-11-23 10:00:24519 "../system_wrappers:field_trial",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24520 "../test:fake_video_codecs",
Qiu Jianlinc79be572024-11-14 12:51:07521 "//third_party/abseil-cpp/absl/container:inlined_vector",
Florent Castelli99c519b2024-05-23 11:21:53522 "//third_party/abseil-cpp/absl/strings",
Patrik Höglund99175c62018-01-08 10:05:10523 ]
philipel2a2f3ec2022-05-24 08:32:32524
525 if (enable_libaom) {
526 defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ]
527 deps += [
528 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
529 ]
530 }
531
philipelb09d8722021-11-23 10:00:24532 if (rtc_include_dav1d_in_internal_decoder_factory) {
533 deps += [ "../modules/video_coding/codecs/av1:dav1d_decoder" ]
534 }
Anders Carlssona114c882018-01-04 14:10:22535 sources = [
Emircan Uysaler7c03bdc2019-01-16 20:07:56536 "engine/fake_video_codec_factory.cc",
537 "engine/fake_video_codec_factory.h",
Steve Anton10542f22019-01-11 17:11:00538 "engine/internal_decoder_factory.cc",
539 "engine/internal_decoder_factory.h",
540 "engine/internal_encoder_factory.cc",
541 "engine/internal_encoder_factory.h",
Anders Carlssona114c882018-01-04 14:10:22542 ]
Anders Carlssona114c882018-01-04 14:10:22543}
544
Mirko Bonadei86d053c2019-10-17 19:32:04545rtc_library("rtc_audio_video") {
Per Kjellandera7f2d842018-01-10 15:54:53546 visibility = [ "*" ]
Anders Carlsson45340ca2019-01-14 13:23:23547 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Anders Carlssona114c882018-01-04 14:10:22548 defines = []
549 libs = []
550 deps = [
Harald Alvestrandfb4ad292024-02-28 11:01:25551 ":audio_source",
Harald Alvestrand794d5992022-12-16 09:54:57552 ":codec",
553 ":media_channel",
Harald Alvestrandd3ac3b62022-12-16 14:46:31554 ":media_channel_impl",
Harald Alvestrand794d5992022-12-16 09:54:57555 ":media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25556 ":media_engine",
Harald Alvestrand13897e62023-05-22 12:49:05557 ":rid_description",
Harald Alvestrand13897e62023-05-22 12:49:05558 ":rtc_media_config",
Harald Alvestrand794d5992022-12-16 09:54:57559 ":rtp_utils",
560 ":stream_params",
Harald Alvestrandb4c96d62022-10-26 13:51:35561 "../api:array_view",
Harald Alvestrand13897e62023-05-22 12:49:05562 "../api:audio_options_api",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24563 "../api:call_api",
Jonas Orelande62c2f22022-03-29 09:04:48564 "../api:field_trials_view",
Harald Alvestrand13897e62023-05-22 12:49:05565 "../api:frame_transformer_interface",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24566 "../api:libjingle_peerconnection_api",
Harald Alvestrand13897e62023-05-22 12:49:05567 "../api:make_ref_counted",
Florent Castellib05ca4b2020-03-05 12:39:55568 "../api:media_stream_interface",
Harald Alvestrand13897e62023-05-22 12:49:05569 "../api:priority",
570 "../api:rtc_error",
571 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:28572 "../api:rtp_parameters",
Harald Alvestrand13897e62023-05-22 12:49:05573 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:48574 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24575 "../api:sequence_checker",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24576 "../api:transport_api",
Florent Castellif4673f92024-04-19 19:46:03577 "../api/audio:audio_device",
Harald Alvestrand13897e62023-05-22 12:49:05578 "../api/audio:audio_frame_api",
Olga Sharonova09ceed22020-09-30 16:27:39579 "../api/audio:audio_frame_processor",
Danil Chapovalov85b8ce22019-05-31 13:51:04580 "../api/audio:audio_mixer_api",
Florent Castelli0afde762024-04-19 15:07:08581 "../api/audio:audio_processing",
582 "../api/audio:audio_processing_statistics",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24583 "../api/audio_codecs:audio_codecs_api",
Harald Alvestrand13897e62023-05-22 12:49:05584 "../api/crypto:frame_decryptor_interface",
585 "../api/crypto:frame_encryptor_interface",
586 "../api/crypto:options",
Danil Chapovalov4c7112a2019-03-27 17:51:45587 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45588 "../api/task_queue:pending_task_safety_flag",
Mirko Bonadei738bfa72019-09-17 12:47:38589 "../api/transport:bitrate_settings",
Erik Språngceb44952020-09-22 09:36:35590 "../api/transport:field_trial_based_config",
Niels Möllera8370302019-09-02 13:16:49591 "../api/transport/rtp:rtp_source",
Elad Alon80f53b72019-10-11 14:19:43592 "../api/units:data_rate",
Harald Alvestrand13897e62023-05-22 12:49:05593 "../api/units:time_delta",
594 "../api/units:timestamp",
595 "../api/video:recordable_encoded_frame",
596 "../api/video:resolution",
Yves Gerey3e707812018-11-28 15:47:49597 "../api/video:video_bitrate_allocation",
Jiawei Ouc2ebe212018-11-08 18:02:56598 "../api/video:video_bitrate_allocator_factory",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24599 "../api/video:video_codec_constants",
600 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38601 "../api/video:video_rtp_headers",
Harald Alvestrand13897e62023-05-22 12:49:05602 "../api/video:video_stream_encoder",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24603 "../api/video_codecs:rtc_software_fallback_wrappers",
Harald Alvestrand13897e62023-05-22 12:49:05604 "../api/video_codecs:scalability_mode",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24605 "../api/video_codecs:video_codecs_api",
606 "../call",
607 "../call:call_interfaces",
Harald Alvestranddc56a362024-09-07 20:38:29608 "../call:payload_type",
609 "../call:payload_type_picker",
Harald Alvestrand13897e62023-05-22 12:49:05610 "../call:receive_stream_interface",
611 "../call:rtp_interfaces",
Harald Alvestrandd8bddfe2024-10-13 21:08:30612 "../call:video_receive_stream_api",
613 "../call:video_send_stream_api",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24614 "../common_video",
Harald Alvestrand13897e62023-05-22 12:49:05615 "../common_video:frame_counts",
Olga Sharonova09ceed22020-09-30 16:27:39616 "../modules/async_audio_processing:async_audio_processing",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24617 "../modules/audio_device",
618 "../modules/audio_device:audio_device_impl",
619 "../modules/audio_mixer:audio_mixer_impl",
Artem Titov94b57c02019-03-21 12:35:10620 "../modules/audio_processing/aec_dump",
Sam Zackrisson41478c72019-10-15 08:10:26621 "../modules/audio_processing/agc:gain_control_interface",
Philipp Hancke17e8a5c2023-06-21 11:53:41622 "../modules/rtp_rtcp",
Danil Chapovalov99a71f42021-07-19 13:20:46623 "../modules/rtp_rtcp:rtp_rtcp_format",
Artem Titov94b57c02019-03-21 12:35:10624 "../modules/video_coding",
Patrik Höglunda97af1f2018-01-16 09:11:40625 "../modules/video_coding:video_codec_interface",
Sergio Garcia Murillo43800f92018-06-21 14:16:38626 "../modules/video_coding:video_coding_utility",
Erik Språngb6ff84b2022-07-05 11:02:28627 "../modules/video_coding:webrtc_vp9_helpers",
Niels Möller79d566b2022-04-29 09:03:13628 "../modules/video_coding/svc:scalability_mode_util",
Jonas Olssonabbe8412018-04-03 11:40:05629 "../rtc_base:audio_format_to_string",
Florent Castellif9c59842022-04-19 15:07:23630 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:36631 "../rtc_base:byte_order",
Anders Carlssona114c882018-01-04 14:10:22632 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46633 "../rtc_base:copy_on_write_buffer",
Harald Alvestrand13897e62023-05-22 12:49:05634 "../rtc_base:dscp",
Florent Castellia30aef32022-04-19 15:47:13635 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30636 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46637 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09638 "../rtc_base:network_route",
Florent Castellif4db3512022-04-14 11:38:05639 "../rtc_base:race_checker",
Florent Castellie10a9f62022-04-04 15:04:37640 "../rtc_base:safe_conversions",
Harald Alvestrand13897e62023-05-22 12:49:05641 "../rtc_base:socket",
Florent Castellia138c6c2023-01-04 11:01:09642 "../rtc_base:ssl",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24643 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01644 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15645 "../rtc_base:timeutils",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24646 "../rtc_base/experiments:field_trial_parser",
Elad Alon80f53b72019-10-11 14:19:43647 "../rtc_base/experiments:min_video_bitrate_experiment",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24648 "../rtc_base/experiments:normalize_simulcast_size_experiment",
Rasmus Brandt2b9317a2019-10-30 12:01:46649 "../rtc_base/experiments:rate_control_settings",
Harald Alvestrand13897e62023-05-22 12:49:05650 "../rtc_base/network:sent_packet",
Markus Handell1e257ca2020-07-07 13:43:11651 "../rtc_base/synchronization:mutex",
Harald Alvestrand13897e62023-05-22 12:49:05652 "../rtc_base/system:file_wrapper",
Tommi13b9f812022-08-16 08:23:47653 "../rtc_base/system:no_unique_address",
Mirko Bonadei276827c2018-10-16 12:13:50654 "../rtc_base/system:rtc_export",
Artem Titova76af0c2018-07-23 15:38:12655 "../rtc_base/third_party/base64",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24656 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10657 "../system_wrappers:metrics",
Harald Alvestrand13897e62023-05-22 12:49:05658 "../video/config:encoder_config",
Harald Alvestrand13897e62023-05-22 12:49:05659 "//third_party/abseil-cpp/absl/algorithm",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24660 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand882b32d2024-12-12 22:15:39661 "//third_party/abseil-cpp/absl/container:flat_hash_map",
Harald Alvestrand13897e62023-05-22 12:49:05662 "//third_party/abseil-cpp/absl/container:inlined_vector",
663 "//third_party/abseil-cpp/absl/functional:any_invocable",
Per K89ca2992023-01-10 13:28:25664 "//third_party/abseil-cpp/absl/functional:bind_front",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24665 "//third_party/abseil-cpp/absl/strings",
Florent Castelli99c519b2024-05-23 11:21:53666 "//third_party/abseil-cpp/absl/strings:string_view",
Anders Carlssona114c882018-01-04 14:10:22667 ]
668
669 sources = [
670 "engine/adm_helpers.cc",
671 "engine/adm_helpers.h",
Steve Anton10542f22019-01-11 17:11:00672 "engine/webrtc_media_engine.cc",
673 "engine/webrtc_media_engine.h",
Steve Anton10542f22019-01-11 17:11:00674 "engine/webrtc_video_engine.cc",
675 "engine/webrtc_video_engine.h",
676 "engine/webrtc_voice_engine.cc",
677 "engine/webrtc_voice_engine.h",
kjellanderc76dc952016-06-03 10:09:32678 ]
679
ehmaldonadoe9cc6862016-09-05 13:10:18680 public_configs = []
Niels Möller85818772019-04-09 06:24:58681 if (!build_with_chromium) {
kjellanderc76dc952016-06-03 10:09:32682 public_configs += [ ":rtc_media_defines_config" ]
683 deps += [ "../modules/video_capture:video_capture_internal_impl" ]
684 }
aleloi048cbdd2017-05-29 09:56:27685 if (rtc_enable_protobuf) {
Jakob Ivarsson39adce12020-06-25 12:09:58686 deps += [
687 "../modules/audio_coding:ana_config_proto",
688 "../modules/audio_processing/aec_dump:aec_dump_impl",
689 ]
aleloi048cbdd2017-05-29 09:56:27690 } else {
691 deps += [ "../modules/audio_processing/aec_dump:null_aec_dump_factory" ]
692 }
kjellanderc76dc952016-06-03 10:09:32693}
kjellander82a94492016-06-13 05:12:01694
Florent Castellia80c3e52021-04-15 13:02:56695rtc_source_set("rtc_data_sctp_transport_internal") {
696 sources = [ "sctp/sctp_transport_internal.h" ]
Danil Chapovalov6fe6b5a2019-04-10 10:50:24697 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57698 ":media_channel",
Florent Castelli0012bfa2024-07-26 16:16:41699 "../api:priority",
Tommi1fabbac2023-03-21 13:48:51700 "../api:rtc_error",
Florent Castellid95b1492021-05-10 09:29:56701 "../api/transport:datagram_transport_interface",
Jonas Oreland575d3232024-12-12 08:12:56702 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18703 "../p2p:packet_transport_internal",
Florent Castellied4aadc2022-04-19 15:40:46704 "../rtc_base:copy_on_write_buffer",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01705 "../rtc_base:threading",
Mirko Bonadei2dcf3482020-06-05 12:30:41706 ]
Florent Castellia80c3e52021-04-15 13:02:56707}
zhihuang38ede132017-06-15 19:52:32708
Florent Castellia6983c62021-05-06 08:50:07709if (rtc_build_dcsctp) {
710 rtc_library("rtc_data_dcsctp_transport") {
711 sources = [
712 "sctp/dcsctp_transport.cc",
713 "sctp/dcsctp_transport.h",
714 ]
715 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57716 ":media_channel",
Florent Castellia6983c62021-05-06 08:50:07717 ":rtc_data_sctp_transport_internal",
718 "../api:array_view",
Jonas Oreland575d3232024-12-12 08:12:56719 "../api:dtls_transport_interface",
Victor Boivie2c1cfd02024-03-18 12:51:40720 "../api:libjingle_peerconnection_api",
Florent Castelli0012bfa2024-07-26 16:16:41721 "../api:priority",
Jonas Oreland575d3232024-12-12 08:12:56722 "../api:rtc_error",
723 "../api:sequence_checker",
Danil Chapovalov8d079be2024-04-08 16:35:40724 "../api/environment",
Artem Titovc374d112022-06-16 19:27:45725 "../api/task_queue:pending_task_safety_flag",
Henrik Boströmb951dc62022-01-26 17:38:13726 "../api/task_queue:task_queue",
Jonas Oreland575d3232024-12-12 08:12:56727 "../api/transport:datagram_transport_interface",
Florent Castelli6a11c842021-06-01 16:39:49728 "../net/dcsctp/public:factory",
Florent Castellia6983c62021-05-06 08:50:07729 "../net/dcsctp/public:socket",
730 "../net/dcsctp/public:types",
Victor Boivie5e726da2021-06-19 05:59:01731 "../net/dcsctp/public:utils",
Florent Castellia6983c62021-05-06 08:50:07732 "../net/dcsctp/timer:task_queue_timeout",
Jonas Oreland575d3232024-12-12 08:12:56733 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18734 "../p2p:packet_transport_internal",
Florent Castellia6983c62021-05-06 08:50:07735 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46736 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13737 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30738 "../rtc_base:logging",
Fredrik Solenberg5cb3a902022-08-22 09:34:29739 "../rtc_base:macromagic",
Florent Castelli71337f32022-04-14 10:41:26740 "../rtc_base:random",
Victor Boivie8df32eb2021-08-12 13:21:25741 "../rtc_base:socket",
Florent Castelli57aa81b2022-04-04 15:14:02742 "../rtc_base:stringutils",
Florent Castellia6983c62021-05-06 08:50:07743 "../rtc_base:threading",
Florent Castelli8f04c7c2022-05-05 21:43:44744 "../rtc_base/containers:flat_map",
Per Kf4aadf32024-02-27 08:01:15745 "../rtc_base/network:received_packet",
Florent Castellia6983c62021-05-06 08:50:07746 "../rtc_base/third_party/sigslot:sigslot",
747 "../system_wrappers",
Florent Castellia6983c62021-05-06 08:50:07748 "//third_party/abseil-cpp/absl/strings:strings",
Florent Castellia6983c62021-05-06 08:50:07749 ]
750 }
751}
752
Florent Castellia80c3e52021-04-15 13:02:56753rtc_library("rtc_data_sctp_transport_factory") {
754 defines = []
755 sources = [
756 "sctp/sctp_transport_factory.cc",
757 "sctp/sctp_transport_factory.h",
758 ]
759 deps = [
760 ":rtc_data_sctp_transport_internal",
Victor Boiviecd54fd82024-02-28 11:16:15761 "../api/environment",
Florent Castellia80c3e52021-04-15 13:02:56762 "../api/transport:sctp_transport_factory_interface",
Jonas Oreland575d3232024-12-12 08:12:56763 "../p2p:dtls_transport_internal",
Florent Castellia80c3e52021-04-15 13:02:56764 "../rtc_base:threading",
765 "../rtc_base/system:unused",
766 ]
767
768 if (rtc_enable_sctp) {
Florent Castellif2599a72022-03-31 17:15:10769 assert(rtc_build_dcsctp, "An SCTP backend is required to enable SCTP")
Florent Castellia6983c62021-05-06 08:50:07770 }
771
772 if (rtc_build_dcsctp) {
773 defines += [ "WEBRTC_HAVE_DCSCTP" ]
774 deps += [
775 ":rtc_data_dcsctp_transport",
776 "../system_wrappers",
777 "../system_wrappers:field_trial",
778 ]
Florent Castellia80c3e52021-04-15 13:02:56779 }
zhihuang38ede132017-06-15 19:52:32780}
781
782rtc_source_set("rtc_media") {
Per Kjellandera7f2d842018-01-10 15:54:53783 visibility = [ "*" ]
Anders Carlsson45340ca2019-01-14 13:23:23784 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Florent Castellia80c3e52021-04-15 13:02:56785 deps = [ ":rtc_audio_video" ]
zhihuang38ede132017-06-15 19:52:32786}
787
kjellander82a94492016-06-13 05:12:01788if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:04789 rtc_library("rtc_media_tests_utils") {
kjellander82a94492016-06-13 05:12:01790 testonly = true
791
Anders Carlsson5f2bb622018-05-14 07:48:06792 defines = []
kjellandera2ef4f92017-03-06 14:04:55793 deps = [
Harald Alvestrandfb4ad292024-02-28 11:01:25794 ":audio_source",
Harald Alvestrand794d5992022-12-16 09:54:57795 ":codec",
796 ":media_channel",
Florent Castelli1f31c202023-06-26 00:26:07797 ":media_channel_impl",
Harald Alvestrand794d5992022-12-16 09:54:57798 ":media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25799 ":media_engine",
Mirko Bonadei75baa492018-01-11 16:07:30800 ":rtc_audio_video",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24801 ":rtc_internal_video_codecs",
802 ":rtc_media",
Jonathan Yu9a5da492018-10-19 07:51:18803 ":rtc_simulcast_encoder_adapter",
Harald Alvestrand794d5992022-12-16 09:54:57804 ":rtp_utils",
805 ":stream_params",
Harald Alvestrandafaae4e2024-03-12 12:06:16806 ":video_common",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24807 "../api:call_api",
Elad Alon8f01c4e2019-06-28 13:19:43808 "../api:fec_controller_api",
Harald Alvestranddc56a362024-09-07 20:38:29809 "../api:frame_transformer_interface",
810 "../api:rtc_error",
811 "../api:rtp_headers",
Florent Castelli1f31c202023-06-26 00:26:07812 "../api:rtp_parameters",
Harald Alvestranddc56a362024-09-07 20:38:29813 "../api:rtp_sender_interface",
Mirko Bonadeid9708072019-01-25 19:26:48814 "../api:scoped_refptr",
Harald Alvestranddc56a362024-09-07 20:38:29815 "../api/adaptation:resource_adaptation_api",
816 "../api/audio:audio_frame_api",
Florent Castelli0afde762024-04-19 15:07:08817 "../api/audio:audio_processing",
Harald Alvestranddc56a362024-09-07 20:38:29818 "../api/audio_codecs:audio_codecs_api",
819 "../api/crypto:frame_decryptor_interface",
Danil Chapovalov27253172024-03-12 15:58:18820 "../api/environment",
Danil Chapovalovad4a2072022-08-17 08:24:02821 "../api/task_queue",
822 "../api/task_queue:pending_task_safety_flag",
Harald Alvestranddc56a362024-09-07 20:38:29823 "../api/transport:bitrate_settings",
824 "../api/transport/rtp:rtp_source",
825 "../api/units:time_delta",
Per K075c20f2023-01-05 14:20:33826 "../api/units:timestamp",
Yves Gerey3e707812018-11-28 15:47:49827 "../api/video:encoded_image",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24828 "../api/video:video_bitrate_allocation",
829 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38830 "../api/video:video_rtp_headers",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24831 "../api/video_codecs:video_codecs_api",
832 "../call:call_interfaces",
Harald Alvestrand882b32d2024-12-12 22:15:39833 "../call:fake_payload_type_suggester",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24834 "../call:mock_rtp_interfaces",
Harald Alvestranddc56a362024-09-07 20:38:29835 "../call:payload_type",
836 "../call:payload_type_picker",
837 "../call:rtp_interfaces",
Harald Alvestrandd8bddfe2024-10-13 21:08:30838 "../call:video_receive_stream_api",
839 "../call:video_send_stream_api",
Artem Titov94b57c02019-03-21 12:35:10840 "../common_video",
841 "../modules/audio_processing",
Harald Alvestranddc56a362024-09-07 20:38:29842 "../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:33843 "../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglund99175c62018-01-08 10:05:10844 "../modules/video_coding:video_codec_interface",
charujaincb728ea2017-09-18 10:08:08845 "../modules/video_coding:video_coding_utility",
Åsa Perssone6b4cbe2023-01-11 14:50:58846 "../modules/video_coding/svc:scalability_mode_util",
Florent Castellif9c59842022-04-19 15:07:23847 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:36848 "../rtc_base:byte_order",
Patrik Höglunda8005cf2017-12-13 15:05:42849 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46850 "../rtc_base:copy_on_write_buffer",
Florent Castellia138c6c2023-01-04 11:01:09851 "../rtc_base:dscp",
Mirko Bonadeie3abb812018-11-23 12:15:08852 "../rtc_base:gunit_helpers",
Florent Castelli4467ad72022-04-04 13:18:46853 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09854 "../rtc_base:network_route",
Florent Castelli33d31fb2022-04-04 14:57:52855 "../rtc_base:rtc_event",
Patrik Höglund3e113432017-12-15 13:40:10856 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01857 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15858 "../rtc_base:timeutils",
Harald Alvestranddc56a362024-09-07 20:38:29859 "../rtc_base/network:sent_packet",
Markus Handell1e257ca2020-07-07 13:43:11860 "../rtc_base/synchronization:mutex",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24861 "../rtc_base/third_party/sigslot",
Florent Castellic5b9a602024-09-03 09:13:23862 "../test:explicit_key_value_config",
863 "../test:scoped_key_value_config",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24864 "../test:test_support",
Harald Alvestranddc56a362024-09-07 20:38:29865 "../video/config:encoder_config",
Jonas Oreland72523482022-09-28 14:28:42866 "../video/config:streams_config",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24867 "//testing/gtest",
Steve Anton2c9ebef2019-01-29 01:27:58868 "//third_party/abseil-cpp/absl/algorithm:container",
Florent Castelli1f31c202023-06-26 00:26:07869 "//third_party/abseil-cpp/absl/functional:any_invocable",
Yves Gerey69807e82018-10-30 21:23:02870 "//third_party/abseil-cpp/absl/strings",
Florent Castelli99c519b2024-05-23 11:21:53871 "//third_party/abseil-cpp/absl/strings:string_view",
kjellandera2ef4f92017-03-06 14:04:55872 ]
kjellander82a94492016-06-13 05:12:01873 sources = [
Steve Anton10542f22019-01-11 17:11:00874 "base/fake_frame_source.cc",
875 "base/fake_frame_source.h",
876 "base/fake_media_engine.cc",
877 "base/fake_media_engine.h",
878 "base/fake_network_interface.h",
879 "base/fake_rtp.cc",
880 "base/fake_rtp.h",
Steve Anton10542f22019-01-11 17:11:00881 "base/fake_video_renderer.cc",
882 "base/fake_video_renderer.h",
883 "base/test_utils.cc",
884 "base/test_utils.h",
885 "engine/fake_webrtc_call.cc",
886 "engine/fake_webrtc_call.h",
887 "engine/fake_webrtc_video_engine.cc",
888 "engine/fake_webrtc_video_engine.h",
kjellander82a94492016-06-13 05:12:01889 ]
kjellander82a94492016-06-13 05:12:01890 }
891
Andrey Logvine7c79fd2021-02-01 09:56:37892 if (!build_with_chromium) {
893 rtc_media_unittests_resources = [
894 "../resources/media/captured-320x240-2s-48.frames",
895 "../resources/media/faces.1280x720_P420.yuv",
896 "../resources/media/faces_I400.jpg",
897 "../resources/media/faces_I411.jpg",
898 "../resources/media/faces_I420.jpg",
899 "../resources/media/faces_I422.jpg",
900 "../resources/media/faces_I444.jpg",
Andrey Logvin78646002021-01-29 10:50:19901 ]
kjellander32c4a202016-08-30 09:53:49902
903 if (is_ios) {
Andrey Logvine7c79fd2021-02-01 09:56:37904 bundle_data("rtc_media_unittests_bundle_data") {
905 testonly = true
906 sources = rtc_media_unittests_resources
907 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
908 }
kjellander82a94492016-06-13 05:12:01909 }
Taylor Brandstetterc2128732020-07-03 23:37:57910
Andrey Logvine7c79fd2021-02-01 09:56:37911 rtc_test("rtc_media_unittests") {
912 testonly = true
913
914 defines = []
915 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57916 ":codec",
Florent Castellid20bbc42023-06-21 12:36:06917 ":media_channel",
Harald Alvestrand794d5992022-12-16 09:54:57918 ":media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25919 ":media_engine",
Harald Alvestrand6aab4cc2024-09-12 14:02:21920 ":rid_description",
Andrey Logvine7c79fd2021-02-01 09:56:37921 ":rtc_audio_video",
Andrey Logvine7c79fd2021-02-01 09:56:37922 ":rtc_internal_video_codecs",
923 ":rtc_media",
Harald Alvestranddc56a362024-09-07 20:38:29924 ":rtc_media_config",
Andrey Logvine7c79fd2021-02-01 09:56:37925 ":rtc_media_tests_utils",
Johannes Kronc3fcee72021-04-19 07:09:26926 ":rtc_sdp_video_format_utils",
Andrey Logvine7c79fd2021-02-01 09:56:37927 ":rtc_simulcast_encoder_adapter",
Harald Alvestrand794d5992022-12-16 09:54:57928 ":rtp_utils",
929 ":stream_params",
930 ":turn_utils",
Harald Alvestrandafaae4e2024-03-12 12:06:16931 ":video_adapter",
932 ":video_broadcaster",
933 ":video_common",
Harald Alvestranddc56a362024-09-07 20:38:29934 "../api:audio_options_api",
935 "../api:call_api",
Andrey Logvine7c79fd2021-02-01 09:56:37936 "../api:create_simulcast_test_fixture_api",
Jeremy Leconte1a8d5292023-10-10 13:21:29937 "../api:field_trials_view",
Andrey Logvine7c79fd2021-02-01 09:56:37938 "../api:libjingle_peerconnection_api",
Harald Alvestranddc56a362024-09-07 20:38:29939 "../api:make_ref_counted",
Jonas Oreland65455162022-06-08 09:25:46940 "../api:mock_encoder_selector",
Andrey Logvine7c79fd2021-02-01 09:56:37941 "../api:mock_video_bitrate_allocator",
942 "../api:mock_video_bitrate_allocator_factory",
943 "../api:mock_video_codec_factory",
944 "../api:mock_video_encoder",
Florent Castelli0012bfa2024-07-26 16:16:41945 "../api:priority",
Harald Alvestranddc56a362024-09-07 20:38:29946 "../api:ref_count",
947 "../api:rtc_error",
948 "../api:rtp_headers",
Andrey Logvine7c79fd2021-02-01 09:56:37949 "../api:rtp_parameters",
950 "../api:scoped_refptr",
951 "../api:simulcast_test_fixture_api",
Harald Alvestrand6aab4cc2024-09-12 14:02:21952 "../api:transport_api",
Harald Alvestranddc56a362024-09-07 20:38:29953 "../api/audio:audio_processing",
Danil Chapovalov87155fc2024-10-31 12:57:50954 "../api/audio:builtin_audio_processing_builder",
Harald Alvestranddc56a362024-09-07 20:38:29955 "../api/audio_codecs:audio_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37956 "../api/audio_codecs:builtin_audio_decoder_factory",
957 "../api/audio_codecs:builtin_audio_encoder_factory",
Harald Alvestranddc56a362024-09-07 20:38:29958 "../api/crypto:options",
Danil Chapovalov75aa7e92023-11-28 16:30:07959 "../api/environment",
960 "../api/environment:environment_factory",
Andrey Logvine7c79fd2021-02-01 09:56:37961 "../api/rtc_event_log",
962 "../api/task_queue",
Andrey Logvine7c79fd2021-02-01 09:56:37963 "../api/test/video:function_video_factory",
Harald Alvestranddc56a362024-09-07 20:38:29964 "../api/transport:bitrate_settings",
Jonas Oreland575d3232024-12-12 08:12:56965 "../api/transport:datagram_transport_interface",
Andrey Logvine7c79fd2021-02-01 09:56:37966 "../api/transport:field_trial_based_config",
Harald Alvestranddc56a362024-09-07 20:38:29967 "../api/transport/rtp:rtp_source",
Evan Shrubsolee6f0c2f2024-11-06 13:33:21968 "../api/units:data_rate",
Andrey Logvine7c79fd2021-02-01 09:56:37969 "../api/units:time_delta",
Markus Handellee034312021-11-05 14:02:03970 "../api/units:timestamp",
Andrey Logvine7c79fd2021-02-01 09:56:37971 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrand6aab4cc2024-09-12 14:02:21972 "../api/video:recordable_encoded_frame",
Jonas Oreland43f0f292022-10-07 13:37:17973 "../api/video:resolution",
Andrey Logvine7c79fd2021-02-01 09:56:37974 "../api/video:video_bitrate_allocation",
Evan Shrubsolee6f0c2f2024-11-06 13:33:21975 "../api/video:video_bitrate_allocator",
Harald Alvestrand6aab4cc2024-09-12 14:02:21976 "../api/video:video_bitrate_allocator_factory",
Sergey Silkin0e3cb9f2021-02-02 17:23:40977 "../api/video:video_codec_constants",
Andrey Logvine7c79fd2021-02-01 09:56:37978 "../api/video:video_frame",
979 "../api/video:video_rtp_headers",
Harald Alvestrand6aab4cc2024-09-12 14:02:21980 "../api/video_codecs:scalability_mode",
Andrey Logvine7c79fd2021-02-01 09:56:37981 "../api/video_codecs:video_codecs_api",
philipel44437d32023-03-31 14:36:12982 "../api/video_codecs:video_decoder_factory_template",
983 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
984 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
985 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
986 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
987 "../api/video_codecs:video_encoder_factory_template",
988 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
989 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
990 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
991 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Andrey Logvine7c79fd2021-02-01 09:56:37992 "../audio",
993 "../call:call_interfaces",
Harald Alvestrand75223522024-11-18 07:18:35994 "../call:payload_type_picker",
Harald Alvestrandd8bddfe2024-10-13 21:08:30995 "../call:video_receive_stream_api",
996 "../call:video_send_stream_api",
Andrey Logvine7c79fd2021-02-01 09:56:37997 "../common_video",
Andrey Logvine7c79fd2021-02-01 09:56:37998 "../modules/audio_device:mock_audio_device",
Jakob Ivarsson514dff82022-11-23 15:48:49999 "../modules/audio_mixer:audio_mixer_impl",
Andrey Logvine7c79fd2021-02-01 09:56:371000 "../modules/audio_processing:mocks",
1001 "../modules/rtp_rtcp",
Danil Chapovalov47f5f8c2021-06-03 10:27:121002 "../modules/rtp_rtcp:rtp_rtcp_format",
Andrey Logvine7c79fd2021-02-01 09:56:371003 "../modules/video_coding:simulcast_test_fixture_impl",
1004 "../modules/video_coding:video_codec_interface",
1005 "../modules/video_coding:webrtc_h264",
1006 "../modules/video_coding:webrtc_vp8",
Åsa Perssone6b4cbe2023-01-11 14:50:581007 "../modules/video_coding/svc:scalability_mode_util",
Florent Castelli0012bfa2024-07-26 16:16:411008 "../net/dcsctp/public:types",
Andrey Logvine7c79fd2021-02-01 09:56:371009 "../p2p:p2p_test_utils",
Florent Castellia138c6c2023-01-04 11:01:091010 "../rtc_base:async_packet_socket",
Florent Castellia876a922022-04-19 15:18:361011 "../rtc_base:byte_order",
Andrey Logvine7c79fd2021-02-01 09:56:371012 "../rtc_base:checks",
Harald Alvestranddc56a362024-09-07 20:38:291013 "../rtc_base:copy_on_write_buffer",
1014 "../rtc_base:dscp",
Andrey Logvine7c79fd2021-02-01 09:56:371015 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:301016 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461017 "../rtc_base:macromagic",
Andrey Logvine7c79fd2021-02-01 09:56:371018 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:521019 "../rtc_base:rtc_event",
Florent Castellie10a9f62022-04-04 15:04:371020 "../rtc_base:safe_conversions",
Harald Alvestrand6aab4cc2024-09-12 14:02:211021 "../rtc_base:socket",
Andrey Logvine7c79fd2021-02-01 09:56:371022 "../rtc_base:stringutils",
1023 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:151024 "../rtc_base:timeutils",
Andrey Logvine7c79fd2021-02-01 09:56:371025 "../rtc_base/experiments:min_video_bitrate_experiment",
1026 "../rtc_base/synchronization:mutex",
1027 "../rtc_base/third_party/sigslot",
Tommia334dc62021-06-04 10:50:011028 "../system_wrappers:field_trial",
Andrey Logvine7c79fd2021-02-01 09:56:371029 "../test:audio_codec_mocks",
1030 "../test:fake_video_codecs",
1031 "../test:field_trial",
1032 "../test:rtp_test_utils",
Jonas Oreland4476b822022-03-10 14:21:281033 "../test:scoped_key_value_config",
Andrey Logvine7c79fd2021-02-01 09:56:371034 "../test:test_main",
1035 "../test:test_support",
1036 "../test:video_test_common",
Markus Handellee034312021-11-05 14:02:031037 "../test/time_controller",
Harald Alvestrand6aab4cc2024-09-12 14:02:211038 "../video/config:encoder_config",
Jonas Oreland1262eb52022-09-27 14:53:041039 "../video/config:streams_config",
Florent Castelli99c519b2024-05-23 11:21:531040 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand6aab4cc2024-09-12 14:02:211041 "//third_party/abseil-cpp/absl/container:inlined_vector",
Florent Castelli99c519b2024-05-23 11:21:531042 "//third_party/abseil-cpp/absl/memory",
1043 "//third_party/abseil-cpp/absl/strings",
1044 "//third_party/abseil-cpp/absl/strings:string_view",
Andrey Logvine7c79fd2021-02-01 09:56:371045 ]
philipel2a2f3ec2022-05-24 08:32:321046
1047 if (enable_libaom) {
1048 defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ]
1049 }
1050
Andrey Logvine7c79fd2021-02-01 09:56:371051 sources = [
Harald Alvestrandae400392024-10-10 12:40:571052 "base/codec_comparators_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371053 "base/codec_unittest.cc",
1054 "base/media_engine_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371055 "base/rtp_utils_unittest.cc",
Johannes Kronc3fcee72021-04-19 07:09:261056 "base/sdp_video_format_utils_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371057 "base/stream_params_unittest.cc",
1058 "base/turn_utils_unittest.cc",
1059 "base/video_adapter_unittest.cc",
1060 "base/video_broadcaster_unittest.cc",
1061 "base/video_common_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371062 "engine/internal_decoder_factory_unittest.cc",
Johannes Kronb26863e2021-09-15 10:56:041063 "engine/internal_encoder_factory_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371064 "engine/simulcast_encoder_adapter_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371065 "engine/webrtc_media_engine_unittest.cc",
1066 "engine/webrtc_video_engine_unittest.cc",
1067 ]
1068
1069 # TODO(kthelgason): Reenable this test on iOS.
1070 # See bugs.webrtc.org/5569
1071 if (!is_ios) {
1072 sources += [ "engine/webrtc_voice_engine_unittest.cc" ]
1073 }
1074
Andrey Logvine7c79fd2021-02-01 09:56:371075 if (rtc_opus_support_120ms_ptime) {
1076 defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=1" ]
1077 } else {
1078 defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=0" ]
1079 }
1080
1081 data = rtc_media_unittests_resources
1082
1083 if (is_android) {
Andrey Logvine7c79fd2021-02-01 09:56:371084 shard_timeout = 900
1085 }
1086
1087 if (is_ios) {
1088 deps += [ ":rtc_media_unittests_bundle_data" ]
1089 }
Florent Castellie3b74f82022-05-02 22:24:151090
1091 if (rtc_build_dcsctp) {
1092 sources += [ "sctp/dcsctp_transport_unittest.cc" ]
1093 deps += [
1094 ":rtc_data_dcsctp_transport",
1095 "../net/dcsctp/public:factory",
1096 "../net/dcsctp/public:mocks",
1097 "../net/dcsctp/public:socket",
1098 ]
1099 }
Taylor Brandstetterc2128732020-07-03 23:37:571100 }
kjellander82a94492016-06-13 05:12:011101 }
1102}