blob: 19c6cd0b220d817a49159f96e7489f5165adc62d [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
Harald Alvestrand611d7f62024-12-16 21:48:06384rtc_library("codec_list") {
385 sources = [
386 "base/codec_list.cc",
387 "base/codec_list.h",
388 ]
389 deps = [
390 ":codec",
Harald Alvestrand33f38f22024-12-18 23:06:33391 ":media_constants",
Harald Alvestrand611d7f62024-12-16 21:48:06392 "../rtc_base:checks",
Harald Alvestrand33f38f22024-12-18 23:06:33393 "../rtc_base:logging",
394 "../rtc_base:stringutils",
Harald Alvestrand611d7f62024-12-16 21:48:06395 ]
396}
397
Harald Alvestrand794d5992022-12-16 09:54:57398rtc_library("rtp_utils") {
399 sources = [
400 "base/rtp_utils.cc",
401 "base/rtp_utils.h",
402 ]
403 deps = [
404 ":turn_utils",
405 "../api:array_view",
406 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia138c6c2023-01-04 11:01:09407 "../rtc_base:async_packet_socket",
Harald Alvestrand794d5992022-12-16 09:54:57408 "../rtc_base:byte_order",
409 "../rtc_base:checks",
Philipp Hancke57dbb1e2024-05-14 15:35:24410 "../rtc_base:digest",
Harald Alvestrand794d5992022-12-16 09:54:57411 "../rtc_base/system:rtc_export",
Florent Castelli99c519b2024-05-23 11:21:53412 "//third_party/abseil-cpp/absl/strings:string_view",
Harald Alvestrand794d5992022-12-16 09:54:57413 ]
Harald Alvestrand794d5992022-12-16 09:54:57414}
415
416rtc_library("stream_params") {
417 sources = [
418 "base/stream_params.cc",
419 "base/stream_params.h",
420 ]
421 deps = [
422 ":rid_description",
423 "../api:array_view",
Harald Alvestrand794d5992022-12-16 09:54:57424 "../rtc_base:stringutils",
Florent Castellia138c6c2023-01-04 11:01:09425 "../rtc_base:unique_id_generator",
Florent Castelli99c519b2024-05-23 11:21:53426 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand794d5992022-12-16 09:54:57427 ]
Harald Alvestrand794d5992022-12-16 09:54:57428}
429
430rtc_library("media_constants") {
431 sources = [
432 "base/media_constants.cc",
433 "base/media_constants.h",
434 ]
435 deps = [ "../rtc_base/system:rtc_export" ]
436}
437
438rtc_library("turn_utils") {
439 sources = [
440 "base/turn_utils.cc",
441 "base/turn_utils.h",
442 ]
443 deps = [
444 "../api/transport:stun_types",
445 "../rtc_base:byte_order",
446 "../rtc_base/system:rtc_export",
447 ]
448}
449
450rtc_library("rid_description") {
451 sources = [
452 "base/rid_description.cc",
453 "base/rid_description.h",
454 ]
455 deps = []
456}
457
Mirko Bonadei86d053c2019-10-17 19:32:04458rtc_library("rtc_simulcast_encoder_adapter") {
Jonathan Yu9a5da492018-10-19 07:51:18459 visibility = [ "*" ]
460 defines = []
461 libs = []
462 sources = [
463 "engine/simulcast_encoder_adapter.cc",
464 "engine/simulcast_encoder_adapter.h",
465 ]
466 deps = [
Philipp Hancke7c5f9cf2024-02-20 14:28:14467 ":rtc_sdp_video_format_utils",
Harald Alvestrandafaae4e2024-03-12 12:06:16468 ":video_common",
Evan Shrubsole479e0662024-06-25 13:54:45469 "../api:array_view",
Elad Alon8f01c4e2019-06-28 13:19:43470 "../api:fec_controller_api",
Jeremy Leconte1a8d5292023-10-10 13:21:29471 "../api:field_trials_view",
Mirko Bonadeid9708072019-01-25 19:26:48472 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24473 "../api:sequence_checker",
Danil Chapovalov27253172024-03-12 15:58:18474 "../api/environment",
Evan Shrubsole479e0662024-06-25 13:54:45475 "../api/units:data_rate",
476 "../api/units:timestamp",
477 "../api/video:encoded_image",
478 "../api/video:video_bitrate_allocation",
479 "../api/video:video_bitrate_allocator",
Erik Språngf93eda12019-01-16 16:10:57480 "../api/video:video_codec_constants",
Yves Gerey3e707812018-11-28 15:47:49481 "../api/video:video_frame",
Evan Shrubsole479e0662024-06-25 13:54:45482 "../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 10:59:38483 "../api/video:video_rtp_headers",
Erik Språngf4e0c292019-10-01 16:50:03484 "../api/video_codecs:rtc_software_fallback_wrappers",
Evan Shrubsole479e0662024-06-25 13:54:45485 "../api/video_codecs:scalability_mode",
Jonathan Yu9a5da492018-10-19 07:51:18486 "../api/video_codecs:video_codecs_api",
Åsa Persson59947d22021-08-26 10:04:27487 "../common_video",
Sergey Silkinb6ef1a72023-10-23 15:11:21488 "../media:media_constants",
Jonathan Yu9a5da492018-10-19 07:51:18489 "../modules/video_coding:video_codec_interface",
490 "../modules/video_coding:video_coding_utility",
491 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30492 "../rtc_base:logging",
Evan Shrubsolee6f0c2f2024-11-06 13:33:21493 "../rtc_base:stringutils",
Åsa Perssona7e34d32021-01-20 14:36:13494 "../rtc_base/experiments:encoder_info_settings",
Erik Språng7f24fb92019-02-13 09:49:37495 "../rtc_base/experiments:rate_control_settings",
Mirko Bonadei20e4c802020-11-23 10:07:42496 "../rtc_base/system:no_unique_address",
Mirko Bonadei66e76792019-04-02 09:33:59497 "../rtc_base/system:rtc_export",
Jonathan Yu9a5da492018-10-19 07:51:18498 "../system_wrappers",
Erik Språng5ab6a8c2021-01-14 15:37:26499 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov27253172024-03-12 15:58:18500 "//third_party/abseil-cpp/absl/base:nullability",
Erik Språng5ab6a8c2021-01-14 15:37:26501 ]
Jonathan Yu9a5da492018-10-19 07:51:18502}
503
Mirko Bonadei86d053c2019-10-17 19:32:04504rtc_library("rtc_internal_video_codecs") {
Per Kjellandera0f5f602018-01-10 15:57:32505 visibility = [ "*" ]
Karl Wiberg7ba22b82018-04-27 02:31:53506 allow_poison = [ "software_video_codecs" ]
Anders Carlssona114c882018-01-04 14:10:22507 defines = []
508 libs = []
Patrik Höglund99175c62018-01-08 10:05:10509 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57510 ":codec",
511 ":media_constants",
Jonathan Yu9a5da492018-10-19 07:51:18512 ":rtc_simulcast_encoder_adapter",
Danil Chapovalov46364192024-02-09 11:43:15513 "../api/environment",
Yves Gerey3e707812018-11-28 15:47:49514 "../api/video:encoded_image",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24515 "../api/video:video_bitrate_allocation",
Yves Gerey3e707812018-11-28 15:47:49516 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38517 "../api/video:video_rtp_headers",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24518 "../api/video_codecs:rtc_software_fallback_wrappers",
Qiu Jianlinc79be572024-11-14 12:51:07519 "../api/video_codecs:scalability_mode",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24520 "../api/video_codecs:video_codecs_api",
philipel2a2f3ec2022-05-24 08:32:32521 "../api/video_codecs:video_encoder_factory_template",
522 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
523 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
524 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24525 "../call:call_interfaces",
Patrik Höglund99175c62018-01-08 10:05:10526 "../modules/video_coding:video_codec_interface",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24527 "../modules/video_coding:webrtc_h264",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24528 "../modules/video_coding:webrtc_vp8",
529 "../modules/video_coding:webrtc_vp9",
530 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30531 "../rtc_base:logging",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24532 "../rtc_base/system:rtc_export",
philipelb09d8722021-11-23 10:00:24533 "../system_wrappers:field_trial",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24534 "../test:fake_video_codecs",
Qiu Jianlinc79be572024-11-14 12:51:07535 "//third_party/abseil-cpp/absl/container:inlined_vector",
Florent Castelli99c519b2024-05-23 11:21:53536 "//third_party/abseil-cpp/absl/strings",
Patrik Höglund99175c62018-01-08 10:05:10537 ]
philipel2a2f3ec2022-05-24 08:32:32538
539 if (enable_libaom) {
540 defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ]
541 deps += [
542 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
543 ]
544 }
545
philipelb09d8722021-11-23 10:00:24546 if (rtc_include_dav1d_in_internal_decoder_factory) {
547 deps += [ "../modules/video_coding/codecs/av1:dav1d_decoder" ]
548 }
Anders Carlssona114c882018-01-04 14:10:22549 sources = [
Emircan Uysaler7c03bdc2019-01-16 20:07:56550 "engine/fake_video_codec_factory.cc",
551 "engine/fake_video_codec_factory.h",
Steve Anton10542f22019-01-11 17:11:00552 "engine/internal_decoder_factory.cc",
553 "engine/internal_decoder_factory.h",
554 "engine/internal_encoder_factory.cc",
555 "engine/internal_encoder_factory.h",
Anders Carlssona114c882018-01-04 14:10:22556 ]
Anders Carlssona114c882018-01-04 14:10:22557}
558
Mirko Bonadei86d053c2019-10-17 19:32:04559rtc_library("rtc_audio_video") {
Per Kjellandera7f2d842018-01-10 15:54:53560 visibility = [ "*" ]
Anders Carlsson45340ca2019-01-14 13:23:23561 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Anders Carlssona114c882018-01-04 14:10:22562 defines = []
563 libs = []
564 deps = [
Harald Alvestrandfb4ad292024-02-28 11:01:25565 ":audio_source",
Harald Alvestrand794d5992022-12-16 09:54:57566 ":codec",
567 ":media_channel",
Harald Alvestrandd3ac3b62022-12-16 14:46:31568 ":media_channel_impl",
Harald Alvestrand794d5992022-12-16 09:54:57569 ":media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25570 ":media_engine",
Harald Alvestrand13897e62023-05-22 12:49:05571 ":rid_description",
Harald Alvestrand13897e62023-05-22 12:49:05572 ":rtc_media_config",
Harald Alvestrand794d5992022-12-16 09:54:57573 ":rtp_utils",
574 ":stream_params",
Harald Alvestrandb4c96d62022-10-26 13:51:35575 "../api:array_view",
Harald Alvestrand13897e62023-05-22 12:49:05576 "../api:audio_options_api",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24577 "../api:call_api",
Jonas Orelande62c2f22022-03-29 09:04:48578 "../api:field_trials_view",
Harald Alvestrand13897e62023-05-22 12:49:05579 "../api:frame_transformer_interface",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24580 "../api:libjingle_peerconnection_api",
Harald Alvestrand13897e62023-05-22 12:49:05581 "../api:make_ref_counted",
Florent Castellib05ca4b2020-03-05 12:39:55582 "../api:media_stream_interface",
Harald Alvestrand13897e62023-05-22 12:49:05583 "../api:priority",
584 "../api:rtc_error",
585 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:28586 "../api:rtp_parameters",
Harald Alvestrand13897e62023-05-22 12:49:05587 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:48588 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24589 "../api:sequence_checker",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24590 "../api:transport_api",
Florent Castellif4673f92024-04-19 19:46:03591 "../api/audio:audio_device",
Harald Alvestrand13897e62023-05-22 12:49:05592 "../api/audio:audio_frame_api",
Olga Sharonova09ceed22020-09-30 16:27:39593 "../api/audio:audio_frame_processor",
Danil Chapovalov85b8ce22019-05-31 13:51:04594 "../api/audio:audio_mixer_api",
Florent Castelli0afde762024-04-19 15:07:08595 "../api/audio:audio_processing",
596 "../api/audio:audio_processing_statistics",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24597 "../api/audio_codecs:audio_codecs_api",
Harald Alvestrand13897e62023-05-22 12:49:05598 "../api/crypto:frame_decryptor_interface",
599 "../api/crypto:frame_encryptor_interface",
600 "../api/crypto:options",
Danil Chapovalov4c7112a2019-03-27 17:51:45601 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45602 "../api/task_queue:pending_task_safety_flag",
Mirko Bonadei738bfa72019-09-17 12:47:38603 "../api/transport:bitrate_settings",
Erik Språngceb44952020-09-22 09:36:35604 "../api/transport:field_trial_based_config",
Niels Möllera8370302019-09-02 13:16:49605 "../api/transport/rtp:rtp_source",
Elad Alon80f53b72019-10-11 14:19:43606 "../api/units:data_rate",
Harald Alvestrand13897e62023-05-22 12:49:05607 "../api/units:time_delta",
608 "../api/units:timestamp",
609 "../api/video:recordable_encoded_frame",
610 "../api/video:resolution",
Yves Gerey3e707812018-11-28 15:47:49611 "../api/video:video_bitrate_allocation",
Jiawei Ouc2ebe212018-11-08 18:02:56612 "../api/video:video_bitrate_allocator_factory",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24613 "../api/video:video_codec_constants",
614 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38615 "../api/video:video_rtp_headers",
Harald Alvestrand13897e62023-05-22 12:49:05616 "../api/video:video_stream_encoder",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24617 "../api/video_codecs:rtc_software_fallback_wrappers",
Harald Alvestrand13897e62023-05-22 12:49:05618 "../api/video_codecs:scalability_mode",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24619 "../api/video_codecs:video_codecs_api",
620 "../call",
621 "../call:call_interfaces",
Harald Alvestranddc56a362024-09-07 20:38:29622 "../call:payload_type",
623 "../call:payload_type_picker",
Harald Alvestrand13897e62023-05-22 12:49:05624 "../call:receive_stream_interface",
625 "../call:rtp_interfaces",
Harald Alvestrandd8bddfe2024-10-13 21:08:30626 "../call:video_receive_stream_api",
627 "../call:video_send_stream_api",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24628 "../common_video",
Harald Alvestrand13897e62023-05-22 12:49:05629 "../common_video:frame_counts",
Olga Sharonova09ceed22020-09-30 16:27:39630 "../modules/async_audio_processing:async_audio_processing",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24631 "../modules/audio_device",
632 "../modules/audio_device:audio_device_impl",
633 "../modules/audio_mixer:audio_mixer_impl",
Artem Titov94b57c02019-03-21 12:35:10634 "../modules/audio_processing/aec_dump",
Sam Zackrisson41478c72019-10-15 08:10:26635 "../modules/audio_processing/agc:gain_control_interface",
Philipp Hancke17e8a5c2023-06-21 11:53:41636 "../modules/rtp_rtcp",
Danil Chapovalov99a71f42021-07-19 13:20:46637 "../modules/rtp_rtcp:rtp_rtcp_format",
Artem Titov94b57c02019-03-21 12:35:10638 "../modules/video_coding",
Patrik Höglunda97af1f2018-01-16 09:11:40639 "../modules/video_coding:video_codec_interface",
Sergio Garcia Murillo43800f92018-06-21 14:16:38640 "../modules/video_coding:video_coding_utility",
Erik Språngb6ff84b2022-07-05 11:02:28641 "../modules/video_coding:webrtc_vp9_helpers",
Niels Möller79d566b2022-04-29 09:03:13642 "../modules/video_coding/svc:scalability_mode_util",
Jonas Olssonabbe8412018-04-03 11:40:05643 "../rtc_base:audio_format_to_string",
Florent Castellif9c59842022-04-19 15:07:23644 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:36645 "../rtc_base:byte_order",
Anders Carlssona114c882018-01-04 14:10:22646 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46647 "../rtc_base:copy_on_write_buffer",
Harald Alvestrand13897e62023-05-22 12:49:05648 "../rtc_base:dscp",
Florent Castellia30aef32022-04-19 15:47:13649 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30650 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46651 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09652 "../rtc_base:network_route",
Florent Castellif4db3512022-04-14 11:38:05653 "../rtc_base:race_checker",
Florent Castellie10a9f62022-04-04 15:04:37654 "../rtc_base:safe_conversions",
Harald Alvestrand13897e62023-05-22 12:49:05655 "../rtc_base:socket",
Florent Castellia138c6c2023-01-04 11:01:09656 "../rtc_base:ssl",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24657 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01658 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15659 "../rtc_base:timeutils",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24660 "../rtc_base/experiments:field_trial_parser",
Elad Alon80f53b72019-10-11 14:19:43661 "../rtc_base/experiments:min_video_bitrate_experiment",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24662 "../rtc_base/experiments:normalize_simulcast_size_experiment",
Rasmus Brandt2b9317a2019-10-30 12:01:46663 "../rtc_base/experiments:rate_control_settings",
Harald Alvestrand13897e62023-05-22 12:49:05664 "../rtc_base/network:sent_packet",
Markus Handell1e257ca2020-07-07 13:43:11665 "../rtc_base/synchronization:mutex",
Harald Alvestrand13897e62023-05-22 12:49:05666 "../rtc_base/system:file_wrapper",
Tommi13b9f812022-08-16 08:23:47667 "../rtc_base/system:no_unique_address",
Mirko Bonadei276827c2018-10-16 12:13:50668 "../rtc_base/system:rtc_export",
Artem Titova76af0c2018-07-23 15:38:12669 "../rtc_base/third_party/base64",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24670 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10671 "../system_wrappers:metrics",
Harald Alvestrand13897e62023-05-22 12:49:05672 "../video/config:encoder_config",
Harald Alvestrand13897e62023-05-22 12:49:05673 "//third_party/abseil-cpp/absl/algorithm",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24674 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand882b32d2024-12-12 22:15:39675 "//third_party/abseil-cpp/absl/container:flat_hash_map",
Harald Alvestrand13897e62023-05-22 12:49:05676 "//third_party/abseil-cpp/absl/container:inlined_vector",
677 "//third_party/abseil-cpp/absl/functional:any_invocable",
Per K89ca2992023-01-10 13:28:25678 "//third_party/abseil-cpp/absl/functional:bind_front",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24679 "//third_party/abseil-cpp/absl/strings",
Florent Castelli99c519b2024-05-23 11:21:53680 "//third_party/abseil-cpp/absl/strings:string_view",
Anders Carlssona114c882018-01-04 14:10:22681 ]
682
683 sources = [
684 "engine/adm_helpers.cc",
685 "engine/adm_helpers.h",
Steve Anton10542f22019-01-11 17:11:00686 "engine/webrtc_media_engine.cc",
687 "engine/webrtc_media_engine.h",
Steve Anton10542f22019-01-11 17:11:00688 "engine/webrtc_video_engine.cc",
689 "engine/webrtc_video_engine.h",
690 "engine/webrtc_voice_engine.cc",
691 "engine/webrtc_voice_engine.h",
kjellanderc76dc952016-06-03 10:09:32692 ]
693
ehmaldonadoe9cc6862016-09-05 13:10:18694 public_configs = []
Niels Möller85818772019-04-09 06:24:58695 if (!build_with_chromium) {
kjellanderc76dc952016-06-03 10:09:32696 public_configs += [ ":rtc_media_defines_config" ]
697 deps += [ "../modules/video_capture:video_capture_internal_impl" ]
698 }
aleloi048cbdd2017-05-29 09:56:27699 if (rtc_enable_protobuf) {
Jakob Ivarsson39adce12020-06-25 12:09:58700 deps += [
701 "../modules/audio_coding:ana_config_proto",
702 "../modules/audio_processing/aec_dump:aec_dump_impl",
703 ]
aleloi048cbdd2017-05-29 09:56:27704 } else {
705 deps += [ "../modules/audio_processing/aec_dump:null_aec_dump_factory" ]
706 }
kjellanderc76dc952016-06-03 10:09:32707}
kjellander82a94492016-06-13 05:12:01708
Florent Castellia80c3e52021-04-15 13:02:56709rtc_source_set("rtc_data_sctp_transport_internal") {
710 sources = [ "sctp/sctp_transport_internal.h" ]
Danil Chapovalov6fe6b5a2019-04-10 10:50:24711 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57712 ":media_channel",
Florent Castelli0012bfa2024-07-26 16:16:41713 "../api:priority",
Tommi1fabbac2023-03-21 13:48:51714 "../api:rtc_error",
Florent Castellid95b1492021-05-10 09:29:56715 "../api/transport:datagram_transport_interface",
Jonas Oreland575d3232024-12-12 08:12:56716 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18717 "../p2p:packet_transport_internal",
Florent Castellied4aadc2022-04-19 15:40:46718 "../rtc_base:copy_on_write_buffer",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01719 "../rtc_base:threading",
Mirko Bonadei2dcf3482020-06-05 12:30:41720 ]
Florent Castellia80c3e52021-04-15 13:02:56721}
zhihuang38ede132017-06-15 19:52:32722
Florent Castellia6983c62021-05-06 08:50:07723if (rtc_build_dcsctp) {
724 rtc_library("rtc_data_dcsctp_transport") {
725 sources = [
726 "sctp/dcsctp_transport.cc",
727 "sctp/dcsctp_transport.h",
728 ]
729 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57730 ":media_channel",
Florent Castellia6983c62021-05-06 08:50:07731 ":rtc_data_sctp_transport_internal",
732 "../api:array_view",
Jonas Oreland575d3232024-12-12 08:12:56733 "../api:dtls_transport_interface",
Victor Boivie2c1cfd02024-03-18 12:51:40734 "../api:libjingle_peerconnection_api",
Florent Castelli0012bfa2024-07-26 16:16:41735 "../api:priority",
Jonas Oreland575d3232024-12-12 08:12:56736 "../api:rtc_error",
737 "../api:sequence_checker",
Danil Chapovalov8d079be2024-04-08 16:35:40738 "../api/environment",
Artem Titovc374d112022-06-16 19:27:45739 "../api/task_queue:pending_task_safety_flag",
Henrik Boströmb951dc62022-01-26 17:38:13740 "../api/task_queue:task_queue",
Jonas Oreland575d3232024-12-12 08:12:56741 "../api/transport:datagram_transport_interface",
Florent Castelli6a11c842021-06-01 16:39:49742 "../net/dcsctp/public:factory",
Florent Castellia6983c62021-05-06 08:50:07743 "../net/dcsctp/public:socket",
744 "../net/dcsctp/public:types",
Victor Boivie5e726da2021-06-19 05:59:01745 "../net/dcsctp/public:utils",
Florent Castellia6983c62021-05-06 08:50:07746 "../net/dcsctp/timer:task_queue_timeout",
Jonas Oreland575d3232024-12-12 08:12:56747 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18748 "../p2p:packet_transport_internal",
Florent Castellia6983c62021-05-06 08:50:07749 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46750 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13751 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30752 "../rtc_base:logging",
Fredrik Solenberg5cb3a902022-08-22 09:34:29753 "../rtc_base:macromagic",
Florent Castelli71337f32022-04-14 10:41:26754 "../rtc_base:random",
Victor Boivie8df32eb2021-08-12 13:21:25755 "../rtc_base:socket",
Florent Castelli57aa81b2022-04-04 15:14:02756 "../rtc_base:stringutils",
Florent Castellia6983c62021-05-06 08:50:07757 "../rtc_base:threading",
Florent Castelli8f04c7c2022-05-05 21:43:44758 "../rtc_base/containers:flat_map",
Per Kf4aadf32024-02-27 08:01:15759 "../rtc_base/network:received_packet",
Florent Castellia6983c62021-05-06 08:50:07760 "../rtc_base/third_party/sigslot:sigslot",
761 "../system_wrappers",
Florent Castellia6983c62021-05-06 08:50:07762 "//third_party/abseil-cpp/absl/strings:strings",
Florent Castellia6983c62021-05-06 08:50:07763 ]
764 }
765}
766
Florent Castellia80c3e52021-04-15 13:02:56767rtc_library("rtc_data_sctp_transport_factory") {
768 defines = []
769 sources = [
770 "sctp/sctp_transport_factory.cc",
771 "sctp/sctp_transport_factory.h",
772 ]
773 deps = [
774 ":rtc_data_sctp_transport_internal",
Victor Boiviecd54fd82024-02-28 11:16:15775 "../api/environment",
Florent Castellia80c3e52021-04-15 13:02:56776 "../api/transport:sctp_transport_factory_interface",
Jonas Oreland575d3232024-12-12 08:12:56777 "../p2p:dtls_transport_internal",
Florent Castellia80c3e52021-04-15 13:02:56778 "../rtc_base:threading",
779 "../rtc_base/system:unused",
780 ]
781
782 if (rtc_enable_sctp) {
Florent Castellif2599a72022-03-31 17:15:10783 assert(rtc_build_dcsctp, "An SCTP backend is required to enable SCTP")
Florent Castellia6983c62021-05-06 08:50:07784 }
785
786 if (rtc_build_dcsctp) {
787 defines += [ "WEBRTC_HAVE_DCSCTP" ]
788 deps += [
789 ":rtc_data_dcsctp_transport",
790 "../system_wrappers",
791 "../system_wrappers:field_trial",
792 ]
Florent Castellia80c3e52021-04-15 13:02:56793 }
zhihuang38ede132017-06-15 19:52:32794}
795
796rtc_source_set("rtc_media") {
Per Kjellandera7f2d842018-01-10 15:54:53797 visibility = [ "*" ]
Anders Carlsson45340ca2019-01-14 13:23:23798 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Florent Castellia80c3e52021-04-15 13:02:56799 deps = [ ":rtc_audio_video" ]
zhihuang38ede132017-06-15 19:52:32800}
801
kjellander82a94492016-06-13 05:12:01802if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:04803 rtc_library("rtc_media_tests_utils") {
kjellander82a94492016-06-13 05:12:01804 testonly = true
805
Anders Carlsson5f2bb622018-05-14 07:48:06806 defines = []
kjellandera2ef4f92017-03-06 14:04:55807 deps = [
Harald Alvestrandfb4ad292024-02-28 11:01:25808 ":audio_source",
Harald Alvestrand794d5992022-12-16 09:54:57809 ":codec",
810 ":media_channel",
Florent Castelli1f31c202023-06-26 00:26:07811 ":media_channel_impl",
Harald Alvestrand794d5992022-12-16 09:54:57812 ":media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25813 ":media_engine",
Mirko Bonadei75baa492018-01-11 16:07:30814 ":rtc_audio_video",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24815 ":rtc_internal_video_codecs",
816 ":rtc_media",
Jonathan Yu9a5da492018-10-19 07:51:18817 ":rtc_simulcast_encoder_adapter",
Harald Alvestrand794d5992022-12-16 09:54:57818 ":rtp_utils",
819 ":stream_params",
Harald Alvestrandafaae4e2024-03-12 12:06:16820 ":video_common",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24821 "../api:call_api",
Elad Alon8f01c4e2019-06-28 13:19:43822 "../api:fec_controller_api",
Harald Alvestranddc56a362024-09-07 20:38:29823 "../api:frame_transformer_interface",
824 "../api:rtc_error",
825 "../api:rtp_headers",
Florent Castelli1f31c202023-06-26 00:26:07826 "../api:rtp_parameters",
Harald Alvestranddc56a362024-09-07 20:38:29827 "../api:rtp_sender_interface",
Mirko Bonadeid9708072019-01-25 19:26:48828 "../api:scoped_refptr",
Harald Alvestranddc56a362024-09-07 20:38:29829 "../api/adaptation:resource_adaptation_api",
830 "../api/audio:audio_frame_api",
Florent Castelli0afde762024-04-19 15:07:08831 "../api/audio:audio_processing",
Harald Alvestranddc56a362024-09-07 20:38:29832 "../api/audio_codecs:audio_codecs_api",
833 "../api/crypto:frame_decryptor_interface",
Danil Chapovalov27253172024-03-12 15:58:18834 "../api/environment",
Danil Chapovalovad4a2072022-08-17 08:24:02835 "../api/task_queue",
836 "../api/task_queue:pending_task_safety_flag",
Harald Alvestranddc56a362024-09-07 20:38:29837 "../api/transport:bitrate_settings",
838 "../api/transport/rtp:rtp_source",
839 "../api/units:time_delta",
Per K075c20f2023-01-05 14:20:33840 "../api/units:timestamp",
Yves Gerey3e707812018-11-28 15:47:49841 "../api/video:encoded_image",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24842 "../api/video:video_bitrate_allocation",
843 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38844 "../api/video:video_rtp_headers",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24845 "../api/video_codecs:video_codecs_api",
846 "../call:call_interfaces",
Harald Alvestrand882b32d2024-12-12 22:15:39847 "../call:fake_payload_type_suggester",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24848 "../call:mock_rtp_interfaces",
Harald Alvestranddc56a362024-09-07 20:38:29849 "../call:payload_type",
850 "../call:payload_type_picker",
851 "../call:rtp_interfaces",
Harald Alvestrandd8bddfe2024-10-13 21:08:30852 "../call:video_receive_stream_api",
853 "../call:video_send_stream_api",
Artem Titov94b57c02019-03-21 12:35:10854 "../common_video",
855 "../modules/audio_processing",
Harald Alvestranddc56a362024-09-07 20:38:29856 "../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:33857 "../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglund99175c62018-01-08 10:05:10858 "../modules/video_coding:video_codec_interface",
charujaincb728ea2017-09-18 10:08:08859 "../modules/video_coding:video_coding_utility",
Åsa Perssone6b4cbe2023-01-11 14:50:58860 "../modules/video_coding/svc:scalability_mode_util",
Florent Castellif9c59842022-04-19 15:07:23861 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:36862 "../rtc_base:byte_order",
Patrik Höglunda8005cf2017-12-13 15:05:42863 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46864 "../rtc_base:copy_on_write_buffer",
Florent Castellia138c6c2023-01-04 11:01:09865 "../rtc_base:dscp",
Mirko Bonadeie3abb812018-11-23 12:15:08866 "../rtc_base:gunit_helpers",
Florent Castelli4467ad72022-04-04 13:18:46867 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09868 "../rtc_base:network_route",
Florent Castelli33d31fb2022-04-04 14:57:52869 "../rtc_base:rtc_event",
Patrik Höglund3e113432017-12-15 13:40:10870 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01871 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15872 "../rtc_base:timeutils",
Harald Alvestranddc56a362024-09-07 20:38:29873 "../rtc_base/network:sent_packet",
Markus Handell1e257ca2020-07-07 13:43:11874 "../rtc_base/synchronization:mutex",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24875 "../rtc_base/third_party/sigslot",
Florent Castellic5b9a602024-09-03 09:13:23876 "../test:explicit_key_value_config",
877 "../test:scoped_key_value_config",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24878 "../test:test_support",
Harald Alvestranddc56a362024-09-07 20:38:29879 "../video/config:encoder_config",
Jonas Oreland72523482022-09-28 14:28:42880 "../video/config:streams_config",
Danil Chapovalov6fe6b5a2019-04-10 10:50:24881 "//testing/gtest",
Steve Anton2c9ebef2019-01-29 01:27:58882 "//third_party/abseil-cpp/absl/algorithm:container",
Florent Castelli1f31c202023-06-26 00:26:07883 "//third_party/abseil-cpp/absl/functional:any_invocable",
Yves Gerey69807e82018-10-30 21:23:02884 "//third_party/abseil-cpp/absl/strings",
Florent Castelli99c519b2024-05-23 11:21:53885 "//third_party/abseil-cpp/absl/strings:string_view",
kjellandera2ef4f92017-03-06 14:04:55886 ]
kjellander82a94492016-06-13 05:12:01887 sources = [
Steve Anton10542f22019-01-11 17:11:00888 "base/fake_frame_source.cc",
889 "base/fake_frame_source.h",
890 "base/fake_media_engine.cc",
891 "base/fake_media_engine.h",
892 "base/fake_network_interface.h",
893 "base/fake_rtp.cc",
894 "base/fake_rtp.h",
Steve Anton10542f22019-01-11 17:11:00895 "base/fake_video_renderer.cc",
896 "base/fake_video_renderer.h",
897 "base/test_utils.cc",
898 "base/test_utils.h",
899 "engine/fake_webrtc_call.cc",
900 "engine/fake_webrtc_call.h",
901 "engine/fake_webrtc_video_engine.cc",
902 "engine/fake_webrtc_video_engine.h",
kjellander82a94492016-06-13 05:12:01903 ]
kjellander82a94492016-06-13 05:12:01904 }
905
Andrey Logvine7c79fd2021-02-01 09:56:37906 if (!build_with_chromium) {
907 rtc_media_unittests_resources = [
908 "../resources/media/captured-320x240-2s-48.frames",
909 "../resources/media/faces.1280x720_P420.yuv",
910 "../resources/media/faces_I400.jpg",
911 "../resources/media/faces_I411.jpg",
912 "../resources/media/faces_I420.jpg",
913 "../resources/media/faces_I422.jpg",
914 "../resources/media/faces_I444.jpg",
Andrey Logvin78646002021-01-29 10:50:19915 ]
kjellander32c4a202016-08-30 09:53:49916
917 if (is_ios) {
Andrey Logvine7c79fd2021-02-01 09:56:37918 bundle_data("rtc_media_unittests_bundle_data") {
919 testonly = true
920 sources = rtc_media_unittests_resources
921 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
922 }
kjellander82a94492016-06-13 05:12:01923 }
Taylor Brandstetterc2128732020-07-03 23:37:57924
Andrey Logvine7c79fd2021-02-01 09:56:37925 rtc_test("rtc_media_unittests") {
926 testonly = true
927
928 defines = []
929 deps = [
Harald Alvestrand794d5992022-12-16 09:54:57930 ":codec",
Florent Castellid20bbc42023-06-21 12:36:06931 ":media_channel",
Harald Alvestrand794d5992022-12-16 09:54:57932 ":media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25933 ":media_engine",
Harald Alvestrand6aab4cc2024-09-12 14:02:21934 ":rid_description",
Andrey Logvine7c79fd2021-02-01 09:56:37935 ":rtc_audio_video",
Andrey Logvine7c79fd2021-02-01 09:56:37936 ":rtc_internal_video_codecs",
937 ":rtc_media",
Harald Alvestranddc56a362024-09-07 20:38:29938 ":rtc_media_config",
Andrey Logvine7c79fd2021-02-01 09:56:37939 ":rtc_media_tests_utils",
Johannes Kronc3fcee72021-04-19 07:09:26940 ":rtc_sdp_video_format_utils",
Andrey Logvine7c79fd2021-02-01 09:56:37941 ":rtc_simulcast_encoder_adapter",
Harald Alvestrand794d5992022-12-16 09:54:57942 ":rtp_utils",
943 ":stream_params",
944 ":turn_utils",
Harald Alvestrandafaae4e2024-03-12 12:06:16945 ":video_adapter",
946 ":video_broadcaster",
947 ":video_common",
Harald Alvestranddc56a362024-09-07 20:38:29948 "../api:audio_options_api",
949 "../api:call_api",
Andrey Logvine7c79fd2021-02-01 09:56:37950 "../api:create_simulcast_test_fixture_api",
Jeremy Leconte1a8d5292023-10-10 13:21:29951 "../api:field_trials_view",
Andrey Logvine7c79fd2021-02-01 09:56:37952 "../api:libjingle_peerconnection_api",
Harald Alvestranddc56a362024-09-07 20:38:29953 "../api:make_ref_counted",
Jonas Oreland65455162022-06-08 09:25:46954 "../api:mock_encoder_selector",
Andrey Logvine7c79fd2021-02-01 09:56:37955 "../api:mock_video_bitrate_allocator",
956 "../api:mock_video_bitrate_allocator_factory",
957 "../api:mock_video_codec_factory",
958 "../api:mock_video_encoder",
Florent Castelli0012bfa2024-07-26 16:16:41959 "../api:priority",
Harald Alvestranddc56a362024-09-07 20:38:29960 "../api:ref_count",
961 "../api:rtc_error",
962 "../api:rtp_headers",
Andrey Logvine7c79fd2021-02-01 09:56:37963 "../api:rtp_parameters",
964 "../api:scoped_refptr",
965 "../api:simulcast_test_fixture_api",
Harald Alvestrand6aab4cc2024-09-12 14:02:21966 "../api:transport_api",
Harald Alvestranddc56a362024-09-07 20:38:29967 "../api/audio:audio_processing",
Danil Chapovalov87155fc2024-10-31 12:57:50968 "../api/audio:builtin_audio_processing_builder",
Harald Alvestranddc56a362024-09-07 20:38:29969 "../api/audio_codecs:audio_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37970 "../api/audio_codecs:builtin_audio_decoder_factory",
971 "../api/audio_codecs:builtin_audio_encoder_factory",
Harald Alvestranddc56a362024-09-07 20:38:29972 "../api/crypto:options",
Danil Chapovalov75aa7e92023-11-28 16:30:07973 "../api/environment",
974 "../api/environment:environment_factory",
Andrey Logvine7c79fd2021-02-01 09:56:37975 "../api/rtc_event_log",
976 "../api/task_queue",
Andrey Logvine7c79fd2021-02-01 09:56:37977 "../api/test/video:function_video_factory",
Harald Alvestranddc56a362024-09-07 20:38:29978 "../api/transport:bitrate_settings",
Jonas Oreland575d3232024-12-12 08:12:56979 "../api/transport:datagram_transport_interface",
Andrey Logvine7c79fd2021-02-01 09:56:37980 "../api/transport:field_trial_based_config",
Harald Alvestranddc56a362024-09-07 20:38:29981 "../api/transport/rtp:rtp_source",
Evan Shrubsolee6f0c2f2024-11-06 13:33:21982 "../api/units:data_rate",
Andrey Logvine7c79fd2021-02-01 09:56:37983 "../api/units:time_delta",
Markus Handellee034312021-11-05 14:02:03984 "../api/units:timestamp",
Andrey Logvine7c79fd2021-02-01 09:56:37985 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrand6aab4cc2024-09-12 14:02:21986 "../api/video:recordable_encoded_frame",
Jonas Oreland43f0f292022-10-07 13:37:17987 "../api/video:resolution",
Andrey Logvine7c79fd2021-02-01 09:56:37988 "../api/video:video_bitrate_allocation",
Evan Shrubsolee6f0c2f2024-11-06 13:33:21989 "../api/video:video_bitrate_allocator",
Harald Alvestrand6aab4cc2024-09-12 14:02:21990 "../api/video:video_bitrate_allocator_factory",
Sergey Silkin0e3cb9f2021-02-02 17:23:40991 "../api/video:video_codec_constants",
Andrey Logvine7c79fd2021-02-01 09:56:37992 "../api/video:video_frame",
993 "../api/video:video_rtp_headers",
Harald Alvestrand6aab4cc2024-09-12 14:02:21994 "../api/video_codecs:scalability_mode",
Andrey Logvine7c79fd2021-02-01 09:56:37995 "../api/video_codecs:video_codecs_api",
philipel44437d32023-03-31 14:36:12996 "../api/video_codecs:video_decoder_factory_template",
997 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
998 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
999 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
1000 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
1001 "../api/video_codecs:video_encoder_factory_template",
1002 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
1003 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
1004 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
1005 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Andrey Logvine7c79fd2021-02-01 09:56:371006 "../audio",
1007 "../call:call_interfaces",
Harald Alvestrand75223522024-11-18 07:18:351008 "../call:payload_type_picker",
Harald Alvestrandd8bddfe2024-10-13 21:08:301009 "../call:video_receive_stream_api",
1010 "../call:video_send_stream_api",
Andrey Logvine7c79fd2021-02-01 09:56:371011 "../common_video",
Andrey Logvine7c79fd2021-02-01 09:56:371012 "../modules/audio_device:mock_audio_device",
Jakob Ivarsson514dff82022-11-23 15:48:491013 "../modules/audio_mixer:audio_mixer_impl",
Andrey Logvine7c79fd2021-02-01 09:56:371014 "../modules/audio_processing:mocks",
1015 "../modules/rtp_rtcp",
Danil Chapovalov47f5f8c2021-06-03 10:27:121016 "../modules/rtp_rtcp:rtp_rtcp_format",
Andrey Logvine7c79fd2021-02-01 09:56:371017 "../modules/video_coding:simulcast_test_fixture_impl",
1018 "../modules/video_coding:video_codec_interface",
1019 "../modules/video_coding:webrtc_h264",
1020 "../modules/video_coding:webrtc_vp8",
Åsa Perssone6b4cbe2023-01-11 14:50:581021 "../modules/video_coding/svc:scalability_mode_util",
Florent Castelli0012bfa2024-07-26 16:16:411022 "../net/dcsctp/public:types",
Andrey Logvine7c79fd2021-02-01 09:56:371023 "../p2p:p2p_test_utils",
Florent Castellia138c6c2023-01-04 11:01:091024 "../rtc_base:async_packet_socket",
Florent Castellia876a922022-04-19 15:18:361025 "../rtc_base:byte_order",
Andrey Logvine7c79fd2021-02-01 09:56:371026 "../rtc_base:checks",
Harald Alvestranddc56a362024-09-07 20:38:291027 "../rtc_base:copy_on_write_buffer",
1028 "../rtc_base:dscp",
Andrey Logvine7c79fd2021-02-01 09:56:371029 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:301030 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461031 "../rtc_base:macromagic",
Andrey Logvine7c79fd2021-02-01 09:56:371032 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:521033 "../rtc_base:rtc_event",
Florent Castellie10a9f62022-04-04 15:04:371034 "../rtc_base:safe_conversions",
Harald Alvestrand6aab4cc2024-09-12 14:02:211035 "../rtc_base:socket",
Andrey Logvine7c79fd2021-02-01 09:56:371036 "../rtc_base:stringutils",
1037 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:151038 "../rtc_base:timeutils",
Andrey Logvine7c79fd2021-02-01 09:56:371039 "../rtc_base/experiments:min_video_bitrate_experiment",
1040 "../rtc_base/synchronization:mutex",
1041 "../rtc_base/third_party/sigslot",
Tommia334dc62021-06-04 10:50:011042 "../system_wrappers:field_trial",
Andrey Logvine7c79fd2021-02-01 09:56:371043 "../test:audio_codec_mocks",
1044 "../test:fake_video_codecs",
1045 "../test:field_trial",
1046 "../test:rtp_test_utils",
Jonas Oreland4476b822022-03-10 14:21:281047 "../test:scoped_key_value_config",
Andrey Logvine7c79fd2021-02-01 09:56:371048 "../test:test_main",
1049 "../test:test_support",
1050 "../test:video_test_common",
Markus Handellee034312021-11-05 14:02:031051 "../test/time_controller",
Harald Alvestrand6aab4cc2024-09-12 14:02:211052 "../video/config:encoder_config",
Jonas Oreland1262eb52022-09-27 14:53:041053 "../video/config:streams_config",
Florent Castelli99c519b2024-05-23 11:21:531054 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand6aab4cc2024-09-12 14:02:211055 "//third_party/abseil-cpp/absl/container:inlined_vector",
Florent Castelli99c519b2024-05-23 11:21:531056 "//third_party/abseil-cpp/absl/memory",
1057 "//third_party/abseil-cpp/absl/strings",
1058 "//third_party/abseil-cpp/absl/strings:string_view",
Andrey Logvine7c79fd2021-02-01 09:56:371059 ]
philipel2a2f3ec2022-05-24 08:32:321060
1061 if (enable_libaom) {
1062 defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ]
1063 }
1064
Andrey Logvine7c79fd2021-02-01 09:56:371065 sources = [
Harald Alvestrandae400392024-10-10 12:40:571066 "base/codec_comparators_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371067 "base/codec_unittest.cc",
1068 "base/media_engine_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371069 "base/rtp_utils_unittest.cc",
Johannes Kronc3fcee72021-04-19 07:09:261070 "base/sdp_video_format_utils_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371071 "base/stream_params_unittest.cc",
1072 "base/turn_utils_unittest.cc",
1073 "base/video_adapter_unittest.cc",
1074 "base/video_broadcaster_unittest.cc",
1075 "base/video_common_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371076 "engine/internal_decoder_factory_unittest.cc",
Johannes Kronb26863e2021-09-15 10:56:041077 "engine/internal_encoder_factory_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371078 "engine/simulcast_encoder_adapter_unittest.cc",
Andrey Logvine7c79fd2021-02-01 09:56:371079 "engine/webrtc_media_engine_unittest.cc",
1080 "engine/webrtc_video_engine_unittest.cc",
1081 ]
1082
1083 # TODO(kthelgason): Reenable this test on iOS.
1084 # See bugs.webrtc.org/5569
1085 if (!is_ios) {
1086 sources += [ "engine/webrtc_voice_engine_unittest.cc" ]
1087 }
1088
Andrey Logvine7c79fd2021-02-01 09:56:371089 if (rtc_opus_support_120ms_ptime) {
1090 defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=1" ]
1091 } else {
1092 defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=0" ]
1093 }
1094
1095 data = rtc_media_unittests_resources
1096
1097 if (is_android) {
Andrey Logvine7c79fd2021-02-01 09:56:371098 shard_timeout = 900
1099 }
1100
1101 if (is_ios) {
1102 deps += [ ":rtc_media_unittests_bundle_data" ]
1103 }
Florent Castellie3b74f82022-05-02 22:24:151104
1105 if (rtc_build_dcsctp) {
1106 sources += [ "sctp/dcsctp_transport_unittest.cc" ]
1107 deps += [
1108 ":rtc_data_dcsctp_transport",
1109 "../net/dcsctp/public:factory",
1110 "../net/dcsctp/public:mocks",
1111 "../net/dcsctp/public:socket",
1112 ]
1113 }
Taylor Brandstetterc2128732020-07-03 23:37:571114 }
kjellander82a94492016-06-13 05:12:011115 }
1116}