blob: d5a5314f0e110de93cd10d27fc1ca75c0d216f58 [file] [log] [blame]
kjellander@webrtc.orgb8caf6a2014-09-30 18:05:021# Copyright (c) 2014 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
kjellander0f380d82016-06-01 11:48:269import("//build/config/ui.gni")
Robin Raymondce1b1402018-11-23 01:10:1110import("../webrtc.gni")
kjellander0f380d82016-06-01 11:48:2611if (is_android) {
12 import("//build/config/android/rules.gni")
13}
kjellander@webrtc.orgb8caf6a2014-09-30 18:05:0214
Andrey Logvine7c79fd2021-02-01 09:56:3715if (!build_with_chromium) {
16 group("test") {
17 testonly = true
kjellander@webrtc.orgb8caf6a2014-09-30 18:05:0218
Andrey Logvine7c79fd2021-02-01 09:56:3719 deps = [
20 ":copy_to_file_audio_capturer",
21 ":rtp_test_utils",
22 ":test_common",
23 ":test_renderer",
24 ":test_support",
Artem Titova077c812023-03-24 17:11:1625 ":test_video_capturer",
Andrey Logvine7c79fd2021-02-01 09:56:3726 ":video_test_common",
mbonadei148d5a22017-04-28 12:24:5027 ]
Andrey Logvine7c79fd2021-02-01 09:56:3728
29 if (rtc_include_tests) {
30 deps += [
31 ":test_main",
32 ":test_support_unittests",
33 "pc/e2e",
34 ]
35 }
mbonadei148d5a22017-04-28 12:24:5036 }
kjellander0f380d82016-06-01 11:48:2637}
38
Artem Titov33f9d2b2019-12-05 14:59:0039rtc_library("frame_generator_impl") {
40 visibility = [
Artem Titov33f9d2b2019-12-05 14:59:0041 ":*",
Artem Titov9d777622020-09-18 16:23:0842 "../api:create_frame_generator",
Artem Titov33f9d2b2019-12-05 14:59:0043 ]
44 testonly = true
45 sources = [
46 "frame_generator.cc",
47 "frame_generator.h",
48 "testsupport/ivf_video_frame_generator.cc",
49 "testsupport/ivf_video_frame_generator.h",
50 ]
51 deps = [
52 ":frame_utils",
53 "../api:frame_generator_api",
54 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:2455 "../api:sequence_checker",
Danil Chapovalovc230da02024-03-22 13:54:4856 "../api/environment",
Artem Titov33f9d2b2019-12-05 14:59:0057 "../api/video:encoded_image",
58 "../api/video:video_frame",
59 "../api/video:video_frame_i010",
Artem Titov33f9d2b2019-12-05 14:59:0060 "../api/video:video_rtp_headers",
61 "../api/video_codecs:video_codecs_api",
62 "../common_video",
Harald Alvestrand794d5992022-12-16 09:54:5763 "../media:media_constants",
Artem Titov33f9d2b2019-12-05 14:59:0064 "../modules/video_coding:video_codec_interface",
65 "../modules/video_coding:video_coding_utility",
66 "../modules/video_coding:webrtc_h264",
67 "../modules/video_coding:webrtc_vp8",
68 "../modules/video_coding:webrtc_vp9",
Jianhui Daicc6042d2023-07-04 03:09:4969 "../modules/video_coding/codecs/av1:dav1d_decoder",
Artem Titov33f9d2b2019-12-05 14:59:0070 "../rtc_base:checks",
71 "../rtc_base:criticalsection",
Florent Castelli0af55ba2022-04-04 13:06:3072 "../rtc_base:logging",
Florent Castelli71337f32022-04-14 10:41:2673 "../rtc_base:random",
Artem Titov33f9d2b2019-12-05 14:59:0074 "../rtc_base:rtc_event",
Markus Handella5a4be12020-07-08 14:09:2175 "../rtc_base/synchronization:mutex",
Artem Titov33f9d2b2019-12-05 14:59:0076 "../rtc_base/system:file_wrapper",
77 "../system_wrappers",
Danil Chapovalovc230da02024-03-22 13:54:4878 "//third_party/abseil-cpp/absl/strings:string_view",
Danil Chapovalovc230da02024-03-22 13:54:4879 ]
Artem Titov33f9d2b2019-12-05 14:59:0080}
81
Mirko Bonadeib337c402023-02-20 10:02:5982rtc_library("y4m_frame_generator") {
83 visibility = [ "*" ]
84 testonly = true
85 sources = [
86 "testsupport/y4m_frame_generator.cc",
87 "testsupport/y4m_frame_generator.h",
88 ]
89 deps = [
90 ":video_test_support",
91 "../api:frame_generator_api",
92 "../api:scoped_refptr",
93 "../api/video:video_frame",
94 "../rtc_base:checks",
Florent Castelli99c519b2024-05-23 11:21:5395 "//third_party/abseil-cpp/absl/strings:string_view",
Mirko Bonadeib5f2c7e2023-02-27 10:13:1396 ]
Mirko Bonadeib337c402023-02-20 10:02:5997}
98
Artem Titov33f9d2b2019-12-05 14:59:0099rtc_library("frame_utils") {
100 visibility = [ "*" ]
101 testonly = true
102 sources = [
103 "frame_utils.cc",
104 "frame_utils.h",
105 ]
106 deps = [
107 "../api:scoped_refptr",
108 "../api/video:video_frame",
Artem Titov33f9d2b2019-12-05 14:59:00109 ]
110}
111
Artem Titova077c812023-03-24 17:11:16112rtc_library("test_video_capturer") {
113 testonly = true
114 sources = [
115 "test_video_capturer.cc",
116 "test_video_capturer.h",
117 ]
118 deps = [
119 "../api:scoped_refptr",
120 "../api/video:video_frame",
121 "../api/video:video_rtp_headers",
Harald Alvestrandafaae4e2024-03-12 12:06:16122 "../media:video_adapter",
123 "../media:video_broadcaster",
Artem Titova077c812023-03-24 17:11:16124 "../rtc_base/synchronization:mutex",
125 ]
126}
127
Artem Titov61684fc2023-04-13 09:39:05128rtc_library("create_frame_generator_capturer") {
129 visibility = [ "*" ]
130 testonly = true
Artem Titovd77f2212023-04-13 12:34:59131 sources = [
132 "create_frame_generator_capturer.cc",
133 "create_frame_generator_capturer.h",
134 ]
Artem Titov61684fc2023-04-13 09:39:05135 deps = [
Artem Titovd77f2212023-04-13 12:34:59136 ":fileutils",
Artem Titov61684fc2023-04-13 09:39:05137 ":frame_generator_capturer",
Artem Titovd77f2212023-04-13 12:34:59138 "../api:create_frame_generator",
Artem Titov61684fc2023-04-13 09:39:05139 "../api:frame_generator_api",
140 "../api/task_queue",
141 "../api/units:time_delta",
Artem Titovd77f2212023-04-13 12:34:59142 "../rtc_base:checks",
Artem Titov61684fc2023-04-13 09:39:05143 "../system_wrappers",
Artem Titovd77f2212023-04-13 12:34:59144 "//third_party/abseil-cpp/absl/strings",
Artem Titovd77f2212023-04-13 12:34:59145 ]
Artem Titov61684fc2023-04-13 09:39:05146}
147
Artem Titove686b1f2023-04-12 08:56:13148rtc_library("frame_generator_capturer") {
149 visibility = [ "*" ]
150 testonly = true
Artem Titovd12582a2023-04-12 13:29:07151 sources = [
152 "frame_generator_capturer.cc",
153 "frame_generator_capturer.h",
Artem Titovd12582a2023-04-12 13:29:07154 ]
155 deps = [
Artem Titovd12582a2023-04-12 13:29:07156 ":test_video_capturer",
Artem Titovd12582a2023-04-12 13:29:07157 "../api:frame_generator_api",
158 "../api/task_queue",
Artem Titov239db682023-04-13 15:22:18159 "../api/units:time_delta",
Artem Titovd12582a2023-04-12 13:29:07160 "../api/video:video_frame",
Artem Titov239db682023-04-13 15:22:18161 "../api/video:video_rtp_headers",
Artem Titovd12582a2023-04-12 13:29:07162 "../rtc_base:checks",
163 "../rtc_base:logging",
Artem Titov239db682023-04-13 15:22:18164 "../rtc_base:macromagic",
Artem Titovd12582a2023-04-12 13:29:07165 "../rtc_base/synchronization:mutex",
166 "../rtc_base/task_utils:repeating_task",
167 "../system_wrappers",
Artem Titov239db682023-04-13 15:22:18168 ]
Artem Titove686b1f2023-04-12 08:56:13169}
170
Mirko Bonadei86d053c2019-10-17 19:32:04171rtc_library("video_test_common") {
Per Kjellandera7f2d842018-01-10 15:54:53172 visibility = [ "*" ]
kjellander0f380d82016-06-01 11:48:26173 testonly = true
174 sources = [
175 "fake_texture_frame.cc",
176 "fake_texture_frame.h",
Niels Möller07d80672022-07-20 08:20:33177 "fake_videorenderer.h",
Artem Titov33f9d2b2019-12-05 14:59:00178 "frame_forwarder.cc",
179 "frame_forwarder.h",
Henrik Boströmbd9e4a92021-03-22 11:24:30180 "mappable_native_buffer.cc",
181 "mappable_native_buffer.h",
mflodman351424e2017-08-10 09:43:14182 "video_codec_settings.h",
Niels Möller07d80672022-07-20 08:20:33183 "video_decoder_proxy_factory.h",
184 "video_encoder_nullable_proxy_factory.h",
185 "video_encoder_proxy_factory.h",
kjellander0f380d82016-06-01 11:48:26186 ]
187
kjellander0f380d82016-06-01 11:48:26188 deps = [
Artem Titov61684fc2023-04-13 09:39:05189 ":create_frame_generator_capturer",
Sebastian Jansson53571c72019-07-31 15:30:03190 ":fileutils",
Artem Titov33f9d2b2019-12-05 14:59:00191 ":frame_utils",
Jonas Oreland4476b822022-03-10 14:21:28192 ":scoped_key_value_config",
Artem Titov86ad48c2023-03-24 22:31:10193 ":test_video_capturer",
Henrik Boströmbd9e4a92021-03-22 11:24:30194 "../api:array_view",
Artem Titov33f9d2b2019-12-05 14:59:00195 "../api:create_frame_generator",
Artem Titov503d7232019-12-04 11:37:13196 "../api:frame_generator_api",
Mirko Bonadeid9708072019-01-25 19:26:48197 "../api:scoped_refptr",
Danil Chapovalov802552a2024-03-18 16:06:20198 "../api/environment",
Sebastian Janssonfb14c5d2019-02-28 12:30:04199 "../api/task_queue",
Niels Möllerc6ce9c52018-05-11 09:15:30200 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38201 "../api/video:video_rtp_headers",
mflodman351424e2017-08-10 09:43:14202 "../api/video_codecs:video_codecs_api",
kjellander0f380d82016-06-01 11:48:26203 "../common_video",
Patrik Höglunda8005cf2017-12-13 15:05:42204 "../rtc_base:checks",
Artem Titov2aaf4af2019-11-22 12:25:12205 "../rtc_base:criticalsection",
206 "../rtc_base:logging",
207 "../rtc_base:refcount",
Artem Titov2aaf4af2019-11-22 12:25:12208 "../rtc_base:timeutils",
Markus Handella3765182020-07-08 11:13:32209 "../rtc_base/synchronization:mutex",
Sebastian Janssonecb68972019-01-18 09:30:54210 "../rtc_base/task_utils:repeating_task",
mbonadei3edccb92017-06-01 11:47:20211 "../system_wrappers",
Henrik Boströmbd9e4a92021-03-22 11:24:30212 "//third_party/abseil-cpp/absl/algorithm:container",
Henrik Boströmbd9e4a92021-03-22 11:24:30213 ]
kjellander0f380d82016-06-01 11:48:26214}
215
Niels Möller07d80672022-07-20 08:20:33216rtc_library("audio_test_common") {
217 visibility = [ "*" ]
218 testonly = true
219 sources = [
220 "audio_decoder_proxy_factory.h",
221 "function_audio_decoder_factory.h",
222 ]
223 deps = [
224 "../api/audio_codecs:audio_codecs_api",
Danil Chapovalove0fe4202024-08-14 17:17:05225 "../api/environment",
Danil Chapovalov45065a72024-09-03 16:37:05226 "../rtc_base:buffer",
Niels Möller07d80672022-07-20 08:20:33227 "../rtc_base:checks",
Florent Castelli99c519b2024-05-23 11:21:53228 "//third_party/abseil-cpp/absl/memory",
Niels Möller07d80672022-07-20 08:20:33229 ]
Niels Möller07d80672022-07-20 08:20:33230}
231
Kári Tristan Helgasonede7cb22019-03-06 09:34:09232if (!build_with_chromium) {
233 if (is_mac || is_ios) {
Mirko Bonadei86d053c2019-10-17 19:32:04234 rtc_library("video_test_mac") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09235 testonly = true
236 sources = [
237 "mac_capturer.h",
238 "mac_capturer.mm",
239 ]
240 deps = [
Artem Titov86ad48c2023-03-24 22:31:10241 ":test_video_capturer",
Kári Tristan Helgasonede7cb22019-03-06 09:34:09242 ":video_test_common",
243 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:41244 "../api:media_stream_interface",
Kári Tristan Helgasonede7cb22019-03-06 09:34:09245 "../api:scoped_refptr",
246 "../modules/video_capture:video_capture_module",
Artem Titov5246ae22023-06-21 13:09:33247 "../rtc_base:logging",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01248 "../rtc_base:threading",
Kári Tristan Helgasonede7cb22019-03-06 09:34:09249 "../sdk:base_objc",
250 "../sdk:native_api",
251 "../sdk:native_video",
252 "../sdk:videocapture_objc",
253 ]
254 }
255 }
256
Mirko Bonadei86d053c2019-10-17 19:32:04257 rtc_library("platform_video_capturer") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09258 testonly = true
259 sources = [
260 "platform_video_capturer.cc",
261 "platform_video_capturer.h",
262 ]
Artem Titov86ad48c2023-03-24 22:31:10263 deps = [
264 ":test_video_capturer",
265 ":video_test_common",
Florent Castelli99c519b2024-05-23 11:21:53266 "//third_party/abseil-cpp/absl/memory",
Artem Titov86ad48c2023-03-24 22:31:10267 ]
Kári Tristan Helgasonede7cb22019-03-06 09:34:09268 if (is_mac || is_ios) {
269 deps += [ ":video_test_mac" ]
270 } else {
271 sources += [
272 "vcm_capturer.cc",
273 "vcm_capturer.h",
274 ]
275 deps += [
Jonas Oreland4476b822022-03-10 14:21:28276 ":scoped_key_value_config",
Kári Tristan Helgasonede7cb22019-03-06 09:34:09277 "../api:scoped_refptr",
278 "../modules/video_capture:video_capture_module",
279 "../rtc_base:checks",
280 "../rtc_base:logging",
281 ]
282 }
283 }
284}
285
Mirko Bonadei86d053c2019-10-17 19:32:04286rtc_library("rtp_test_utils") {
kjellander0f380d82016-06-01 11:48:26287 testonly = true
288 sources = [
289 "rtcp_packet_parser.cc",
290 "rtcp_packet_parser.h",
291 "rtp_file_reader.cc",
292 "rtp_file_reader.h",
293 "rtp_file_writer.cc",
294 "rtp_file_writer.h",
295 ]
296
kjellander0f380d82016-06-01 11:48:26297 deps = [
kwiberg529662a2017-09-04 12:43:17298 "../api:array_view",
Tommi25eb47c2019-08-29 14:39:05299 "../api:rtp_parameters",
kjellander0f380d82016-06-01 11:48:26300 "../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:33301 "../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 15:05:42302 "../rtc_base:checks",
Artem Titov2aaf4af2019-11-22 12:25:12303 "../rtc_base:criticalsection",
304 "../rtc_base:logging",
305 "../rtc_base:macromagic",
Philipp Hancke4ddd9312024-07-30 17:33:51306 "../rtc_base:timeutils",
Markus Handell60ed4592020-07-09 13:18:06307 "../rtc_base/synchronization:mutex",
Niels Möllera12c42a2018-07-25 14:05:48308 "../rtc_base/system:arch",
Florent Castelli99c519b2024-05-23 11:21:53309 "//third_party/abseil-cpp/absl/strings:string_view",
philipelc412a9c2022-12-30 12:15:35310 ]
kjellander@webrtc.orgb8caf6a2014-09-30 18:05:02311}
312
Mirko Bonadei86d053c2019-10-17 19:32:04313rtc_library("field_trial") {
Mirko Bonadei3db07432022-06-29 19:04:17314 testonly = true
Per Kjellandera7f2d842018-01-10 15:54:53315 visibility = [ "*" ]
kjellander@webrtc.orgb8caf6a2014-09-30 18:05:02316 sources = [
317 "field_trial.cc",
318 "field_trial.h",
319 ]
320
Mirko Bonadeif3db00f2021-08-23 15:39:58321 deps = [
322 "../rtc_base:checks",
323 "../system_wrappers:field_trial",
Florent Castelli99c519b2024-05-23 11:21:53324 "//third_party/abseil-cpp/absl/strings:string_view",
Mirko Bonadeif3db00f2021-08-23 15:39:58325 ]
kjellander@webrtc.orgb8caf6a2014-09-30 18:05:02326}
327
Björn Tereliusae1892d2020-06-17 09:55:55328rtc_library("explicit_key_value_config") {
329 sources = [
330 "explicit_key_value_config.cc",
331 "explicit_key_value_config.h",
332 ]
333
334 deps = [
Emil Lundmark1c8103d2022-09-21 13:20:22335 "../api:field_trials_registry",
Björn Tereliusae1892d2020-06-17 09:55:55336 "../rtc_base:checks",
Florent Castelli99c519b2024-05-23 11:21:53337 "//third_party/abseil-cpp/absl/strings:string_view",
Jonas Orelanded99dae2022-03-09 08:28:10338 ]
Jonas Orelanded99dae2022-03-09 08:28:10339}
340
341rtc_library("scoped_key_value_config") {
Mirko Bonadei3db07432022-06-29 19:04:17342 testonly = true
Jonas Orelandeaf632a2022-04-08 13:54:13343 visibility = [ "*" ]
Jonas Orelanded99dae2022-03-09 08:28:10344 sources = [
345 "scoped_key_value_config.cc",
346 "scoped_key_value_config.h",
347 ]
348
349 deps = [
350 ":field_trial",
Emil Lundmark1c8103d2022-09-21 13:20:22351 "../api:field_trials_registry",
Jonas Orelanded99dae2022-03-09 08:28:10352 "../rtc_base:checks",
Jonas Orelandd7f95502022-03-22 15:52:08353 "../system_wrappers:field_trial",
Florent Castelli99c519b2024-05-23 11:21:53354 "//third_party/abseil-cpp/absl/strings:string_view",
Björn Tereliusae1892d2020-06-17 09:55:55355 ]
Björn Tereliusae1892d2020-06-17 09:55:55356}
357
Mirko Bonadei86d053c2019-10-17 19:32:04358rtc_library("perf_test") {
Per Kjellandera7f2d842018-01-10 15:54:53359 visibility = [ "*" ]
Patrik Höglund2ea27962020-01-13 14:10:40360 testonly = true
Edward Lemure66572b2018-01-05 14:34:09361 sources = [
362 "testsupport/perf_test.cc",
363 "testsupport/perf_test.h",
Patrik Höglund2ea27962020-01-13 14:10:40364 "testsupport/perf_test_histogram_writer.h",
365 "testsupport/perf_test_result_writer.h",
Edward Lemure66572b2018-01-05 14:34:09366 ]
367 deps = [
Edward Lemure66572b2018-01-05 14:34:09368 "../api:array_view",
Artem Titov9d777622020-09-18 16:23:08369 "../api/numerics",
Oleh Prypind136b282018-10-03 11:53:44370 "../rtc_base:checks",
Artem Titov2aaf4af2019-11-22 12:25:12371 "../rtc_base:criticalsection",
Patrik Höglund7f585b32020-01-31 10:22:42372 "../rtc_base:logging",
Artem Titov087be5c2019-09-12 18:30:54373 "../rtc_base:rtc_numerics",
Artem Titov0710b402021-02-11 11:54:04374 "../rtc_base:stringutils",
Markus Handella5a4be12020-07-08 14:09:21375 "../rtc_base/synchronization:mutex",
Jeremy Lecontec5152e82020-09-29 07:26:02376 "../test:fileutils",
Florent Castelli99c519b2024-05-23 11:21:53377 "//third_party/abseil-cpp/absl/strings:string_view",
Artem Titov0710b402021-02-11 11:54:04378 ]
Patrik Höglund7f585b32020-01-31 10:22:42379 if (rtc_enable_protobuf) {
380 sources += [ "testsupport/perf_test_histogram_writer.cc" ]
381 deps += [
382 "//third_party/catapult/tracing/tracing:histogram",
383 "//third_party/catapult/tracing/tracing:reserved_infos",
384 ]
385 } else {
386 sources += [ "testsupport/perf_test_histogram_writer_no_protobuf.cc" ]
387 }
Edward Lemure66572b2018-01-05 14:34:09388}
389
mbonadeicd95a4e2017-08-24 06:55:54390if (is_ios) {
Mirko Bonadei86d053c2019-10-17 19:32:04391 rtc_library("test_support_objc") {
mbonadeicd95a4e2017-08-24 06:55:54392 testonly = true
Björn Terelius49850c32022-05-04 08:59:56393 visibility = [
394 ":google_test_runner_objc",
395 ":test_support",
396 ]
mbonadeicd95a4e2017-08-24 06:55:54397 sources = [
Artem Titarenko34fc3462018-11-06 11:29:29398 "ios/coverage_util_ios.h",
399 "ios/coverage_util_ios.mm",
mbonadeicd95a4e2017-08-24 06:55:54400 "ios/test_support.h",
401 "ios/test_support.mm",
402 ]
denicijad207a392017-09-11 13:43:28403 deps = [
Mirko Bonadei6143ec92023-07-27 11:26:42404 ":google_test_runner_delegate",
Edward Lemure66572b2018-01-05 14:34:09405 ":perf_test",
Artem Titovf5808fc2022-09-23 10:06:56406 "../api/test/metrics:chrome_perf_dashboard_metrics_exporter",
407 "../api/test/metrics:global_metrics_logger_and_exporter",
408 "../api/test/metrics:metrics_exporter",
Mirko Bonadeib6e8c2e2022-12-05 08:18:27409 "../api/test/metrics:metrics_set_proto_file_exporter",
Artem Titovf5808fc2022-09-23 10:06:56410 "../api/test/metrics:print_result_proxy_metrics_exporter",
411 "../api/test/metrics:stdout_metrics_exporter",
Anders Carlsson7bca8ca2018-08-30 07:30:29412 "../sdk:helpers_objc",
denicijad207a392017-09-11 13:43:28413 ]
Artem Titarenko34fc3462018-11-06 11:29:29414 configs += [ ":test_support_objc_config" ]
415 }
416
Mirko Bonadei6143ec92023-07-27 11:26:42417 rtc_library("google_test_runner_delegate") {
418 sources = [ "ios/google_test_runner_delegate.h" ]
419 }
420
Björn Terelius49850c32022-05-04 08:59:56421 rtc_library("google_test_runner_objc") {
422 testonly = true
423 visibility = [ "*" ]
424 sources = [ "ios/google_test_runner.mm" ]
Björn Terelius49850c32022-05-04 08:59:56425 configs += [ "//build/config/ios:xctest_config" ]
426 frameworks = [ "UIKit.framework" ]
Mirko Bonadei6143ec92023-07-27 11:26:42427 deps = [ ":google_test_runner_delegate" ]
Björn Terelius49850c32022-05-04 08:59:56428 }
429
Artem Titarenko34fc3462018-11-06 11:29:29430 config("test_support_objc_config") {
431 defines = []
432
433 if (use_clang_coverage) {
434 defines += [ "WEBRTC_IOS_ENABLE_COVERAGE" ]
435 }
mbonadeicd95a4e2017-08-24 06:55:54436 }
437}
438
Patrik Höglund34924c22018-01-19 08:11:07439config("suppress_warning_4373") {
440 if (is_win) {
441 cflags = [
442 # MSVC has a bug which generates this warning when using mocks; see the
443 # section on warning 4373 in he googlemock FAQ. This warning isn't the
444 # least relevant for us, anyway.
445 "/wd4373",
446 ]
447 }
448}
449
Sebastian Jansson2afd2812018-08-23 12:44:05450config("test_main_direct_config") {
451 visibility = [ ":*" ]
Andrey Logvinb95d90b2020-12-09 12:49:39452 defines = [ "WEBRTC_UNIT_TEST" ]
Sebastian Jansson2afd2812018-08-23 12:44:05453}
mbonadei148d5a22017-04-28 12:24:50454rtc_source_set("test_support") {
Per Kjellandera7f2d842018-01-10 15:54:53455 visibility = [ "*" ]
mbonadei148d5a22017-04-28 12:24:50456 testonly = true
kjellander32c4a202016-08-30 09:53:49457
Mirko Bonadei65ce3112018-01-26 10:57:47458 all_dependent_configs = [
459 ":suppress_warning_4373",
460 "//third_party/googletest:gmock_config",
461 "//third_party/googletest:gtest_config",
462 ]
Patrik Höglund34924c22018-01-19 08:11:07463
mbonadei148d5a22017-04-28 12:24:50464 sources = [
465 "gmock.h",
466 "gtest.h",
mbonadei148d5a22017-04-28 12:24:50467 ]
468
Kári Tristan Helgasone2baffb2017-06-09 08:31:58469 if (is_ios) {
Patrik Höglund81c7a602020-01-30 10:32:33470 public_deps += # no-presubmit-check TODO(webrtc:8603)
471 [ ":test_support_objc" ]
Kári Tristan Helgasone2baffb2017-06-09 08:31:58472 }
473
Sebastian Jansson2afd2812018-08-23 12:44:05474 public_configs = [ ":test_main_direct_config" ]
mbonadei148d5a22017-04-28 12:24:50475 deps = [
Mirko Bonadei3663ed32019-10-19 10:03:23476 "../rtc_base:ignore_wundef",
mbonadei148d5a22017-04-28 12:24:50477 "//testing/gmock",
478 "//testing/gtest",
479 ]
kjellander32c4a202016-08-30 09:53:49480}
481
Artem Titove4bda7d2022-07-15 21:46:03482rtc_library("fixed_fps_video_frame_writer_adapter") {
483 visibility = [ "*" ]
Artem Titove4bda7d2022-07-15 21:46:03484 sources = [
485 "testsupport/fixed_fps_video_frame_writer_adapter.cc",
486 "testsupport/fixed_fps_video_frame_writer_adapter.h",
487 ]
488 deps = [
Artem Titova6c34d12024-06-25 21:30:20489 ":video_frame_writer",
Artem Titov2068d0d2022-10-12 13:04:06490 "../api/test/video:video_frame_writer",
Artem Titove4bda7d2022-07-15 21:46:03491 "../api/units:time_delta",
492 "../api/video:video_frame",
493 "../rtc_base:checks",
494 "../system_wrappers",
495 ]
Artem Titove4bda7d2022-07-15 21:46:03496}
497
Artem Titova6c34d12024-06-25 21:30:20498rtc_library("video_frame_writer") {
Artem Titoveb3da2b2024-06-26 11:23:44499 sources = [
500 "testsupport/frame_writer.h",
501 "testsupport/video_frame_writer.cc",
502 "testsupport/video_frame_writer.h",
503 "testsupport/y4m_frame_writer.cc",
504 "testsupport/yuv_frame_writer.cc",
505 ]
Artem Titova6c34d12024-06-25 21:30:20506
Artem Titoveb3da2b2024-06-26 11:23:44507 deps = [
508 "../api:scoped_refptr",
509 "../api/test/video:video_frame_writer",
510 "../api/video:video_frame",
511 "../common_video",
512 "../rtc_base:buffer",
513 "../rtc_base:checks",
514 "../rtc_base:logging",
515 ]
516
517 if (!is_ios) {
518 deps += [ "//third_party:jpeg" ]
519 sources += [ "testsupport/jpeg_frame_writer.cc" ]
520 } else {
521 sources += [ "testsupport/jpeg_frame_writer_ios.cc" ]
522 }
Artem Titova6c34d12024-06-25 21:30:20523}
524
Mirko Bonadeia9e10262020-02-06 09:35:58525rtc_library("video_test_support") {
526 testonly = true
527
528 sources = [
529 "testsupport/frame_reader.h",
Mirko Bonadeia9e10262020-02-06 09:35:58530 "testsupport/mock/mock_frame_reader.h",
Mirko Bonadeia9e10262020-02-06 09:35:58531 "testsupport/y4m_frame_reader.cc",
Mirko Bonadeia9e10262020-02-06 09:35:58532 "testsupport/yuv_frame_reader.cc",
Mirko Bonadeia9e10262020-02-06 09:35:58533 ]
534
535 deps = [
536 ":fileutils",
537 ":frame_utils",
538 ":test_support",
539 ":video_test_common",
540 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24541 "../api:sequence_checker",
Artem Titov2068d0d2022-10-12 13:04:06542 "../api/test/video:video_frame_writer",
Mirko Bonadeia9e10262020-02-06 09:35:58543 "../api/video:encoded_image",
Sergey Silkin1985b5a2022-12-06 14:36:21544 "../api/video:resolution",
Mirko Bonadeia9e10262020-02-06 09:35:58545 "../api/video:video_frame",
Mirko Bonadeia9e10262020-02-06 09:35:58546 "../api/video_codecs:video_codecs_api",
547 "../common_video",
Mirko Bonadeia9e10262020-02-06 09:35:58548 "../modules/video_coding:video_codec_interface",
549 "../modules/video_coding:video_coding_utility",
550 "../modules/video_coding:webrtc_h264",
551 "../modules/video_coding:webrtc_vp8",
552 "../modules/video_coding:webrtc_vp9",
Florent Castellif9c59842022-04-19 15:07:23553 "../rtc_base:buffer",
Mirko Bonadeia9e10262020-02-06 09:35:58554 "../rtc_base:checks",
555 "../rtc_base:criticalsection",
556 "../rtc_base:logging",
Mirko Bonadeia9e10262020-02-06 09:35:58557 "../rtc_base:rtc_event",
Artem Titovb984c072022-10-10 13:04:30558 "../rtc_base:stringutils",
Mirko Bonadeia9e10262020-02-06 09:35:58559 "../rtc_base/system:file_wrapper",
Mirko Bonadeia9e10262020-02-06 09:35:58560 ]
Mirko Bonadeia9e10262020-02-06 09:35:58561}
562
Peter Kasting1e6d77c2023-03-13 23:01:00563if (rtc_include_tests) {
Peter Kasting049f5ef2023-03-14 16:56:25564 if (rtc_enable_google_benchmarks) {
Peter Kasting1e6d77c2023-03-13 23:01:00565 rtc_library("benchmark_main") {
Oleh Prypin5ab68542017-09-25 09:18:00566 testonly = true
Peter Kasting1e6d77c2023-03-13 23:01:00567 sources = [ "benchmark_main.cc" ]
568
569 deps = [ "//third_party/google_benchmark" ]
Oleh Prypin5ab68542017-09-25 09:18:00570 }
Oleh Prypin90ce84e2017-09-25 08:27:22571 }
572
Peter Kasting1e6d77c2023-03-13 23:01:00573 if (!build_with_chromium) {
574 rtc_library("resources_dir_flag") {
575 testonly = true
576 visibility = [ "*" ]
577 sources = [
578 "testsupport/resources_dir_flag.cc",
579 "testsupport/resources_dir_flag.h",
580 ]
Florent Castelli99c519b2024-05-23 11:21:53581 deps = [ "//third_party/abseil-cpp/absl/flags:flag" ]
Patrik Höglund7f585b32020-01-31 10:22:42582 }
583
Peter Kasting1e6d77c2023-03-13 23:01:00584 rtc_library("test_main_lib") {
585 visibility = [ "*" ]
586 testonly = true
587 sources = [
588 "test_main_lib.cc",
589 "test_main_lib.h",
590 ]
591
592 deps = [
593 ":field_trial",
594 ":perf_test",
595 ":resources_dir_flag",
596 ":test_flags",
597 ":test_support",
598 "../api/test/metrics:chrome_perf_dashboard_metrics_exporter",
599 "../api/test/metrics:global_metrics_logger_and_exporter",
600 "../api/test/metrics:metrics_exporter",
601 "../api/test/metrics:metrics_set_proto_file_exporter",
602 "../api/test/metrics:print_result_proxy_metrics_exporter",
603 "../api/test/metrics:stdout_metrics_exporter",
604 "../rtc_base:checks",
605 "../rtc_base:event_tracer",
606 "../rtc_base:logging",
Philipp Hanckec7fd5af2024-05-17 20:49:05607 "../rtc_base:ssl_adapter",
Peter Kasting1e6d77c2023-03-13 23:01:00608 "../rtc_base:threading",
609 "../system_wrappers:field_trial",
610 "../system_wrappers:metrics",
Peter Kasting1e6d77c2023-03-13 23:01:00611 "//third_party/abseil-cpp/absl/flags:flag",
612 "//third_party/abseil-cpp/absl/memory",
Florent Castelli99c519b2024-05-23 11:21:53613 "//third_party/abseil-cpp/absl/strings",
614 "//third_party/abseil-cpp/absl/strings:string_view",
Florent Castelli99c519b2024-05-23 11:21:53615 "//third_party/perfetto/include/perfetto/tracing",
Peter Kasting1e6d77c2023-03-13 23:01:00616 ]
617
618 if (is_win) {
619 deps += [ "../rtc_base:win32_socket_init" ]
620 }
Evan Shrubsoledb50b032024-04-24 13:27:00621 if (rtc_use_perfetto) {
622 deps += [ "//third_party/perfetto/src/tracing:client_api" ]
623 }
Peter Kasting1e6d77c2023-03-13 23:01:00624 }
625
626 rtc_library("test_main") {
627 visibility = [ "*" ]
628 testonly = true
629 sources = [ "test_main.cc" ]
630
631 deps = [
632 ":test_main_lib",
633 ":test_support",
Peter Kasting1e6d77c2023-03-13 23:01:00634 "//third_party/abseil-cpp/absl/debugging:failure_signal_handler",
635 "//third_party/abseil-cpp/absl/debugging:symbolize",
636 "//third_party/abseil-cpp/absl/flags:parse",
637 ]
638 }
639
640 rtc_library("test_support_test_artifacts") {
641 testonly = true
642 sources = [
643 "testsupport/test_artifacts.cc",
644 "testsupport/test_artifacts.h",
645 ]
646 deps = [
647 ":fileutils",
648 "../rtc_base:logging",
649 "../rtc_base/system:file_wrapper",
Peter Kasting1e6d77c2023-03-13 23:01:00650 "//third_party/abseil-cpp/absl/flags:flag",
651 "//third_party/abseil-cpp/absl/flags:parse",
652 ]
653 }
654
655 test_support_unittests_resources = [
656 "../resources/foreman_cif_short.yuv",
657 "../resources/video_coding/frame-ethernet-ii.pcap",
658 "../resources/video_coding/frame-loopback.pcap",
659 "../resources/video_coding/pltype103.rtp",
660 "../resources/video_coding/pltype103_header_only.rtp",
661 "../resources/video_coding/ssrcs-2.pcap",
662 "../resources/video_coding/ssrcs-3.pcap",
663 ]
664
Oleh Prypin5ab68542017-09-25 09:18:00665 if (is_ios) {
Peter Kasting1e6d77c2023-03-13 23:01:00666 bundle_data("test_support_unittests_bundle_data") {
667 testonly = true
668 sources = test_support_unittests_resources
669 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
670 }
Oleh Prypin5ab68542017-09-25 09:18:00671 }
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27672
Peter Kasting1e6d77c2023-03-13 23:01:00673 rtc_library("fixed_fps_video_frame_writer_adapter_test") {
674 testonly = true
675 sources = [ "testsupport/fixed_fps_video_frame_writer_adapter_test.cc" ]
676 deps = [
677 ":fixed_fps_video_frame_writer_adapter",
678 ":test_support",
Artem Titoveb3da2b2024-06-26 11:23:44679 ":video_frame_writer",
Peter Kasting1e6d77c2023-03-13 23:01:00680 "../api/units:time_delta",
681 "../api/units:timestamp",
682 "../api/video:video_frame",
683 "../rtc_base/synchronization:mutex",
684 "time_controller",
685 ]
Peter Kasting1e6d77c2023-03-13 23:01:00686 }
687
688 rtc_test("test_support_unittests") {
689 deps = [
690 ":call_config_utils",
691 ":copy_to_file_audio_capturer_unittest",
Artem Titovd77f2212023-04-13 12:34:59692 ":create_frame_generator_capturer",
Peter Kasting1e6d77c2023-03-13 23:01:00693 ":direct_transport",
694 ":fake_video_codecs",
695 ":fileutils",
696 ":fileutils_unittests",
697 ":fixed_fps_video_frame_writer_adapter_test",
Artem Titovd12582a2023-04-12 13:29:07698 ":frame_generator_capturer",
Peter Kasting1e6d77c2023-03-13 23:01:00699 ":frame_generator_impl",
700 ":perf_test",
701 ":rtc_expect_death",
702 ":rtp_test_utils",
703 ":run_loop",
704 ":scoped_key_value_config",
705 ":test_main",
706 ":test_support",
707 ":test_support_test_artifacts",
Sergey Silkind4311562023-11-13 14:48:25708 ":video_codec_tester",
Artem Titoveb3da2b2024-06-26 11:23:44709 ":video_frame_writer",
Peter Kasting1e6d77c2023-03-13 23:01:00710 ":video_test_common",
711 ":video_test_support",
712 ":y4m_frame_generator",
713 "../api:array_view",
714 "../api:create_frame_generator",
715 "../api:create_simulcast_test_fixture_api",
716 "../api:frame_generator_api",
Sergey Silkind4311562023-11-13 14:48:25717 "../api:mock_video_codec_factory",
718 "../api:mock_video_decoder",
719 "../api:mock_video_encoder",
Peter Kasting1e6d77c2023-03-13 23:01:00720 "../api:scoped_refptr",
721 "../api:simulcast_test_fixture_api",
Danil Chapovalovd213dd52024-01-25 14:48:24722 "../api/environment",
723 "../api/environment:environment_factory",
Danil Chapovalovf49d96d2024-01-18 17:30:42724 "../api/task_queue",
Peter Kasting1e6d77c2023-03-13 23:01:00725 "../api/task_queue:task_queue_test",
726 "../api/test/video:function_video_factory",
727 "../api/test/video:video_frame_writer",
Sergey Silkind4311562023-11-13 14:48:25728 "../api/units:data_rate",
Sergey Silkin66344ac2023-12-22 08:36:59729 "../api/units:data_size",
730 "../api/units:frequency",
Peter Kasting1e6d77c2023-03-13 23:01:00731 "../api/units:time_delta",
732 "../api/video:encoded_image",
733 "../api/video:video_frame",
Sergey Silkinb792d602024-06-03 14:16:01734 "../api/video_codecs:builtin_video_decoder_factory",
735 "../api/video_codecs:builtin_video_encoder_factory",
Sergey Silkin66344ac2023-12-22 08:36:59736 "../api/video_codecs:scalability_mode",
Peter Kasting1e6d77c2023-03-13 23:01:00737 "../api/video_codecs:video_codecs_api",
Harald Alvestrandd8bddfe2024-10-13 21:08:30738 "../call:video_receive_stream_api",
Peter Kasting1e6d77c2023-03-13 23:01:00739 "../common_video",
740 "../media:codec",
741 "../media:media_constants",
Peter Kasting1e6d77c2023-03-13 23:01:00742 "../modules/rtp_rtcp:rtp_rtcp_format",
743 "../modules/video_coding:simulcast_test_fixture_impl",
744 "../modules/video_coding:video_codec_interface",
745 "../modules/video_coding:video_coding_utility",
746 "../modules/video_coding:webrtc_h264",
747 "../modules/video_coding:webrtc_vp8",
748 "../modules/video_coding:webrtc_vp9",
Sergey Silkind4311562023-11-13 14:48:25749 "../modules/video_coding/svc:scalability_mode_util",
Peter Kasting1e6d77c2023-03-13 23:01:00750 "../rtc_base:criticalsection",
751 "../rtc_base:rtc_event",
Peter Kasting1e6d77c2023-03-13 23:01:00752 "../rtc_base/synchronization:mutex",
753 "../rtc_base/system:file_wrapper",
Rasmus Brandtcde53542023-06-08 08:41:25754 "jitter:jitter_unittests",
Peter Kasting1e6d77c2023-03-13 23:01:00755 "pc/e2e:e2e_unittests",
756 "pc/e2e/analyzer/video:video_analyzer_unittests",
Artem Titovebce84a2023-03-15 17:01:17757 "pc/e2e/analyzer/video/dvqa:dvqa_unittests",
Peter Kasting1e6d77c2023-03-13 23:01:00758 "peer_scenario/tests",
759 "scenario:scenario_unittests",
760 "time_controller:time_controller",
761 "time_controller:time_controller_unittests",
Peter Kasting1e6d77c2023-03-13 23:01:00762 "//third_party/abseil-cpp/absl/flags:flag",
Florent Castelli99c519b2024-05-23 11:21:53763 "//third_party/abseil-cpp/absl/strings:string_view",
Florent Castelli99c519b2024-05-23 11:21:53764 "//third_party/libyuv",
Peter Kasting1e6d77c2023-03-13 23:01:00765 ]
766 sources = [
767 "call_config_utils_unittest.cc",
768 "direct_transport_unittest.cc",
769 "fake_vp8_encoder_unittest.cc",
770 "frame_generator_capturer_unittest.cc",
771 "frame_generator_unittest.cc",
772 "rtp_file_reader_unittest.cc",
773 "rtp_file_writer_unittest.cc",
774 "run_loop_unittest.cc",
775 "testsupport/ivf_video_frame_generator_unittest.cc",
776 "testsupport/perf_test_unittest.cc",
777 "testsupport/test_artifacts_unittest.cc",
778 "testsupport/video_frame_writer_unittest.cc",
779 "testsupport/y4m_frame_generator_test.cc",
780 "testsupport/y4m_frame_reader_unittest.cc",
781 "testsupport/y4m_frame_writer_unittest.cc",
782 "testsupport/yuv_frame_reader_unittest.cc",
783 "testsupport/yuv_frame_writer_unittest.cc",
Sergey Silkind4311562023-11-13 14:48:25784 "video_codec_tester_unittest.cc",
Peter Kasting1e6d77c2023-03-13 23:01:00785 ]
786
787 if (rtc_enable_protobuf) {
788 sources += [ "testsupport/perf_test_histogram_writer_unittest.cc" ]
789 deps += [ "//third_party/catapult/tracing/tracing:histogram" ]
790 }
791
792 data = test_support_unittests_resources
793 if (is_android) {
794 deps += [ "//testing/android/native_test:native_test_support" ]
795 shard_timeout = 900
796 }
797
798 if (is_ios) {
799 deps += [ ":test_support_unittests_bundle_data" ]
800 }
801
802 if (!is_android) {
803 # This is needed in order to avoid:
804 # undefined symbol: webrtc::videocapturemodule::VideoCaptureImpl::Create
805 deps += [ "../modules/video_capture:video_capture_internal_impl" ]
806 }
Mirko Bonadei9098b302018-04-06 08:48:10807 }
Oleh Prypin5ab68542017-09-25 09:18:00808 }
Oleh Prypin90ce84e2017-09-25 08:27:22809}
810
mbonadeicd95a4e2017-08-24 06:55:54811if (is_ios) {
Mirko Bonadei86d053c2019-10-17 19:32:04812 rtc_library("fileutils_ios_objc") {
Artem Titov8f726be2018-10-23 13:50:10813 visibility = [
814 ":fileutils",
815 ":fileutils_override_impl",
816 ]
mbonadeicd95a4e2017-08-24 06:55:54817 sources = [
Steve Anton10542f22019-01-11 17:11:00818 "testsupport/ios_file_utils.h",
819 "testsupport/ios_file_utils.mm",
mbonadeicd95a4e2017-08-24 06:55:54820 ]
821 deps = [
Patrik Höglunda8005cf2017-12-13 15:05:42822 "../rtc_base:checks",
Anders Carlsson7bca8ca2018-08-30 07:30:29823 "../sdk:helpers_objc",
Florent Castelli99c519b2024-05-23 11:21:53824 "//third_party/abseil-cpp/absl/strings:string_view",
mbonadeicd95a4e2017-08-24 06:55:54825 ]
826 }
827}
828
Patrik Höglund8434aeb32018-10-05 12:52:11829if (is_mac) {
Mirko Bonadei86d053c2019-10-17 19:32:04830 rtc_library("fileutils_mac_objc") {
Artem Titov8f726be2018-10-23 13:50:10831 visibility = [
832 ":fileutils",
833 ":fileutils_override_impl",
834 ]
Patrik Höglund8434aeb32018-10-05 12:52:11835 sources = [
Steve Anton10542f22019-01-11 17:11:00836 "testsupport/mac_file_utils.h",
837 "testsupport/mac_file_utils.mm",
Patrik Höglund8434aeb32018-10-05 12:52:11838 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10839 deps = [ "../rtc_base:checks" ]
Patrik Höglund8434aeb32018-10-05 12:52:11840 }
841}
842
Mirko Bonadei86d053c2019-10-17 19:32:04843rtc_library("fileutils") {
mbonadei9452c622017-04-27 19:29:29844 testonly = true
Patrik Höglund7696bef2018-03-15 14:05:39845 visibility = [ "*" ]
mbonadei9452c622017-04-27 19:29:29846 sources = [
Steve Anton10542f22019-01-11 17:11:00847 "testsupport/file_utils.cc",
848 "testsupport/file_utils.h",
mbonadei9452c622017-04-27 19:29:29849 ]
mbonadei3edccb92017-06-01 11:47:20850 deps = [
Artem Titov8f726be2018-10-23 13:50:10851 ":fileutils_override_api",
852 ":fileutils_override_impl",
Artem Titov8f726be2018-10-23 13:50:10853 "../rtc_base:checks",
Philipp Hancke41586782024-06-06 14:31:07854 "../rtc_base:crypto_random",
Artem Titov2aaf4af2019-11-22 12:25:12855 "../rtc_base:stringutils",
Mirko Bonadei73eff7c2022-10-10 13:41:16856 "//third_party/abseil-cpp/absl/base:core_headers",
Florent Castelli99c519b2024-05-23 11:21:53857 "//third_party/abseil-cpp/absl/strings:string_view",
Ali Tofigh1d6de142022-03-24 18:34:34858 ]
Artem Titov8f726be2018-10-23 13:50:10859 if (is_ios) {
860 deps += [ ":fileutils_ios_objc" ]
861 }
862 if (is_mac) {
863 deps += [ ":fileutils_mac_objc" ]
864 }
865 if (is_win) {
Tommi16db7ff2020-09-26 09:57:26866 deps += [ "../rtc_base:win32" ]
Artem Titov8f726be2018-10-23 13:50:10867 }
868}
869
870# We separate header into own target to make it possible for downstream
871# projects to override implementation.
872rtc_source_set("fileutils_override_api") {
873 testonly = true
Mirko Bonadeiccbe95f2020-01-21 11:10:10874 sources = [ "testsupport/file_utils_override.h" ]
Florent Castelli99c519b2024-05-23 11:21:53875 deps = [ "//third_party/abseil-cpp/absl/strings:string_view" ]
Artem Titov8f726be2018-10-23 13:50:10876}
877
Mirko Bonadei86d053c2019-10-17 19:32:04878rtc_library("fileutils_override_impl") {
Artem Titov8f726be2018-10-23 13:50:10879 testonly = true
880 visibility = [ ":fileutils" ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10881 sources = [ "testsupport/file_utils_override.cc" ]
Artem Titov8f726be2018-10-23 13:50:10882 deps = [
883 ":fileutils_override_api",
Patrik Höglunda8005cf2017-12-13 15:05:42884 "../rtc_base:checks",
Artem Titov2aaf4af2019-11-22 12:25:12885 "../rtc_base:macromagic",
886 "../rtc_base:stringutils",
Florent Castelli99c519b2024-05-23 11:21:53887 "//third_party/abseil-cpp/absl/strings:string_view",
Ali Tofigh1d6de142022-03-24 18:34:34888 ]
mbonadei9452c622017-04-27 19:29:29889 if (is_ios) {
Patrik Höglund8434aeb32018-10-05 12:52:11890 deps += [ ":fileutils_ios_objc" ]
891 }
892 if (is_mac) {
893 deps += [ ":fileutils_mac_objc" ]
mbonadei3edccb92017-06-01 11:47:20894 }
895 if (is_win) {
Tommi16db7ff2020-09-26 09:57:26896 deps += [ "../rtc_base:win32" ]
mbonadei9452c622017-04-27 19:29:29897 }
mbonadei9452c622017-04-27 19:29:29898}
899
900rtc_source_set("run_test") {
901 testonly = true
mbonadeicd95a4e2017-08-24 06:55:54902 if (is_mac) {
Arthur Sonzogni47faf322023-08-22 09:55:36903 public_deps += [ ":run_test_objc" ] # no-presubmit-check TODO(webrtc:8603)
mbonadeicd95a4e2017-08-24 06:55:54904 } else {
Arthur Sonzogni47faf322023-08-22 09:55:36905 public_deps += # no-presubmit-check TODO(webrtc:8603)
Patrik Höglund81c7a602020-01-30 10:32:33906 [ ":run_test_generic" ]
mbonadeicd95a4e2017-08-24 06:55:54907 }
908}
909
910rtc_source_set("run_test_interface") {
Mirko Bonadeiccbe95f2020-01-21 11:10:10911 sources = [ "run_test.h" ]
mbonadeicd95a4e2017-08-24 06:55:54912}
913
914if (is_mac) {
Mirko Bonadei86d053c2019-10-17 19:32:04915 rtc_library("run_test_objc") {
mbonadeicd95a4e2017-08-24 06:55:54916 testonly = true
mbonadei9c296b32017-09-05 12:11:41917 visibility = [ ":run_test" ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10918 sources = [ "mac/run_test.mm" ]
919 deps = [ ":run_test_interface" ]
mbonadei9452c622017-04-27 19:29:29920 }
921}
922
Mirko Bonadei86d053c2019-10-17 19:32:04923rtc_library("run_test_generic") {
mbonadeicd95a4e2017-08-24 06:55:54924 testonly = true
mbonadei9c296b32017-09-05 12:11:41925 visibility = [ ":run_test" ]
Mirko Bonadeiccbe95f2020-01-21 11:10:10926 sources = [ "run_test.cc" ]
927 deps = [ ":run_test_interface" ]
mbonadeicd95a4e2017-08-24 06:55:54928}
929
Mirko Bonadei86d053c2019-10-17 19:32:04930rtc_library("fileutils_unittests") {
ehmaldonado37535bf2016-12-05 14:42:45931 testonly = true
kjellandere0629c02017-04-25 11:04:50932 visibility = [ ":*" ] # Only targets in this file can depend on this.
Mirko Bonadeiccbe95f2020-01-21 11:10:10933 sources = [ "testsupport/file_utils_unittest.cc" ]
ehmaldonado37535bf2016-12-05 14:42:45934 deps = [
935 ":fileutils",
mbonadei3edccb92017-06-01 11:47:20936 ":test_support",
Patrik Höglunda8005cf2017-12-13 15:05:42937 "../rtc_base:checks",
Philipp Hancke41586782024-06-06 14:31:07938 "../rtc_base:crypto_random",
Florent Castelli99c519b2024-05-23 11:21:53939 "//third_party/abseil-cpp/absl/strings:string_view",
Ali Tofigh1d6de142022-03-24 18:34:34940 ]
ehmaldonado37535bf2016-12-05 14:42:45941}
kjellander0f380d82016-06-01 11:48:26942
Mirko Bonadei86d053c2019-10-17 19:32:04943rtc_library("direct_transport") {
Per Kjellandera7f2d842018-01-10 15:54:53944 visibility = [ "*" ]
perkj488c5dc2017-02-08 13:55:51945 testonly = true
946 sources = [
947 "direct_transport.cc",
948 "direct_transport.h",
perkj488c5dc2017-02-08 13:55:51949 ]
perkj488c5dc2017-02-08 13:55:51950 deps = [
Per Kjellander89870ff2023-01-19 15:45:58951 "../api:rtp_parameters",
Artem Titovd15a5752021-02-10 13:31:24952 "../api:sequence_checker",
Artem Titov46c4e602018-08-17 12:26:54953 "../api:simulated_network_api",
perkj488c5dc2017-02-08 13:55:51954 "../api:transport_api",
Danil Chapovalovba2ba592019-09-27 09:10:45955 "../api/task_queue",
956 "../api/units:time_delta",
Mirko Bonadeia0e1a552017-12-04 09:50:51957 "../call:call_interfaces",
Artem Titov46c4e602018-08-17 12:26:54958 "../call:simulated_packet_receiver",
Danil Chapovalov00ca0042021-07-05 17:06:17959 "../modules/rtp_rtcp:rtp_rtcp_format",
Per Kjellander89870ff2023-01-19 15:45:58960 "../rtc_base:checks",
Artem Titov2aaf4af2019-11-22 12:25:12961 "../rtc_base:macromagic",
962 "../rtc_base:timeutils",
Markus Handella5a4be12020-07-08 14:09:21963 "../rtc_base/synchronization:mutex",
Danil Chapovalovba2ba592019-09-27 09:10:45964 "../rtc_base/task_utils:repeating_task",
perkj488c5dc2017-02-08 13:55:51965 ]
Arthur Sonzogni47faf322023-08-22 09:55:36966 public_deps += # no-presubmit-check TODO(webrtc:8603)
Patrik Höglund81c7a602020-01-30 10:32:33967 [ "../call:fake_network" ]
eladalon413ee9a2017-08-22 11:02:52968}
969
Mirko Bonadei86d053c2019-10-17 19:32:04970rtc_library("fake_video_codecs") {
Emircan Uysaler7c03bdc2019-01-16 20:07:56971 allow_poison = [ "software_video_codecs" ]
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27972 visibility = [ "*" ]
973 sources = [
974 "configurable_frame_size_encoder.cc",
975 "configurable_frame_size_encoder.h",
976 "fake_decoder.cc",
977 "fake_decoder.h",
978 "fake_encoder.cc",
979 "fake_encoder.h",
Per Kjellander841c9122018-10-04 16:40:28980 "fake_vp8_decoder.cc",
981 "fake_vp8_decoder.h",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27982 "fake_vp8_encoder.cc",
983 "fake_vp8_encoder.h",
984 ]
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27985 deps = [
Elad Alon8f01c4e2019-06-28 13:19:43986 "../api:fec_controller_api",
Mirko Bonadeid9708072019-01-25 19:26:48987 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24988 "../api:sequence_checker",
Danil Chapovalov41b4bf972024-04-11 16:10:31989 "../api/environment",
Danil Chapovalov471783f2019-03-11 13:26:02990 "../api/task_queue",
Niels Möller4dc66c52018-10-05 12:17:58991 "../api/video:encoded_image",
Yves Gerey3e707812018-11-28 15:47:49992 "../api/video:video_bitrate_allocation",
993 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38994 "../api/video:video_rtp_headers",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27995 "../api/video_codecs:video_codecs_api",
Elad Aloncde8ab22019-03-20 10:56:20996 "../api/video_codecs:vp8_temporal_layers_factory",
Yves Gerey3e707812018-11-28 15:47:49997 "../modules/video_coding:codec_globals_headers",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27998 "../modules/video_coding:video_codec_interface",
999 "../modules/video_coding:video_coding_utility",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:271000 "../rtc_base:checks",
Artem Titov2aaf4af2019-11-22 12:25:121001 "../rtc_base:criticalsection",
1002 "../rtc_base:macromagic",
Artem Titov2aaf4af2019-11-22 12:25:121003 "../rtc_base:timeutils",
Markus Handella3765182020-07-08 11:13:321004 "../rtc_base/synchronization:mutex",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:271005 "../system_wrappers",
Florent Castelli99c519b2024-05-23 11:21:531006 "//third_party/abseil-cpp/absl/strings:string_view",
Sergey Silkin8efd93d2023-08-04 11:59:431007 ]
Ilya Nikolaevskiyb0588e62018-08-27 12:12:271008}
1009
Mirko Bonadei86d053c2019-10-17 19:32:041010rtc_library("null_transport") {
Danil Chapovalovce928172019-04-24 16:17:421011 testonly = true
1012 sources = [
1013 "null_transport.cc",
1014 "null_transport.h",
1015 ]
Mirko Bonadeiccbe95f2020-01-21 11:10:101016 deps = [ "../api:transport_api" ]
Danil Chapovalovce928172019-04-24 16:17:421017}
1018
Mirko Bonadei86d053c2019-10-17 19:32:041019rtc_library("encoder_settings") {
Danil Chapovalovce928172019-04-24 16:17:421020 testonly = true
1021 sources = [
1022 "encoder_settings.cc",
1023 "encoder_settings.h",
1024 ]
1025 deps = [
1026 "../api:scoped_refptr",
1027 "../api/video_codecs:video_codecs_api",
1028 "../call:rtp_interfaces",
Harald Alvestrandd8bddfe2024-10-13 21:08:301029 "../call:video_receive_stream_api",
1030 "../call:video_send_stream_api",
Danil Chapovalovce928172019-04-24 16:17:421031 "../rtc_base:checks",
1032 "../rtc_base:refcount",
Jonas Oreland6c2dae22022-09-29 08:28:241033 "../video/config:encoder_config",
Danil Chapovalovce928172019-04-24 16:17:421034 ]
1035}
1036
Artem Titov9dc209a2019-11-28 16:09:301037rtc_library("rtc_expect_death") {
1038 testonly = true
Mirko Bonadeiccbe95f2020-01-21 11:10:101039 sources = [ "testsupport/rtc_expect_death.h" ]
1040 deps = [ ":test_support" ]
Artem Titov9dc209a2019-11-28 16:09:301041}
1042
Niels Möller65b2d8a2022-05-19 14:06:231043rtc_library("run_loop") {
1044 testonly = true
1045 sources = [
1046 "run_loop.cc",
1047 "run_loop.h",
1048 ]
1049 deps = [
Danil Chapovalov9c125c62022-07-07 18:29:301050 "../api/task_queue",
Niels Möller65b2d8a2022-05-19 14:06:231051 "../rtc_base:threading",
1052 "../rtc_base:timeutils",
Florent Castelli99c519b2024-05-23 11:21:531053 "//third_party/abseil-cpp/absl/functional:any_invocable",
Niels Möller65b2d8a2022-05-19 14:06:231054 ]
1055}
1056
Artem Titov8a9f3a82023-04-25 07:56:491057rtc_library("video_test_constants") {
1058 testonly = true
1059 sources = [ "video_test_constants.h" ]
1060 deps = [ "../api/units:time_delta" ]
1061}
1062
Tim Na9526c552020-02-20 19:53:131063rtc_library("mock_transport") {
1064 testonly = true
1065 sources = [
1066 "mock_transport.cc",
1067 "mock_transport.h",
1068 ]
1069 deps = [
1070 ":test_support",
1071 "../api:transport_api",
1072 ]
1073}
1074
ehmaldonado38a21322016-09-02 11:10:341075rtc_source_set("test_renderer") {
Arthur Sonzogni47faf322023-08-22 09:55:361076 public_deps += # no-presubmit-check TODO(webrtc:8603)
Patrik Höglund81c7a602020-01-30 10:32:331077 [ ":test_renderer_generic" ]
kjellander0f380d82016-06-01 11:48:261078 testonly = true
mbonadeicd95a4e2017-08-24 06:55:541079 if (is_mac) {
Patrik Höglund81c7a602020-01-30 10:32:331080 public_deps += # no-presubmit-check TODO(webrtc:8603)
1081 [ ":test_renderer_objc" ]
mbonadeicd95a4e2017-08-24 06:55:541082 }
1083}
1084
1085if (is_mac) {
Mirko Bonadei86d053c2019-10-17 19:32:041086 rtc_library("test_renderer_objc") {
mbonadeicd95a4e2017-08-24 06:55:541087 testonly = true
mbonadei9c296b32017-09-05 12:11:411088 visibility = [ ":test_renderer" ]
mbonadeicd95a4e2017-08-24 06:55:541089 sources = [
1090 "mac/video_renderer_mac.h",
1091 "mac/video_renderer_mac.mm",
1092 ]
Björn Terelius49850c32022-05-04 08:59:561093 deps = [ ":test_renderer_generic" ]
Sylvain Defresnec7f0dff2020-07-03 08:19:301094 frameworks = [
mbonadeicd95a4e2017-08-24 06:55:541095 "Cocoa.framework",
1096 "OpenGL.framework",
1097 "CoreVideo.framework",
1098 ]
Avi Drissman539757b2022-11-29 20:43:121099 defines = [ "GL_SILENCE_DEPRECATION" ]
mbonadeicd95a4e2017-08-24 06:55:541100 }
1101}
1102
Mirko Bonadei86d053c2019-10-17 19:32:041103rtc_library("test_renderer_generic") {
mbonadeicd95a4e2017-08-24 06:55:541104 testonly = true
mbonadei9c296b32017-09-05 12:11:411105 visibility = [
1106 ":test_renderer",
1107 ":test_renderer_objc",
1108 ]
kjellander0f380d82016-06-01 11:48:261109 libs = []
1110 sources = [
kjellander0f380d82016-06-01 11:48:261111 "video_renderer.cc",
1112 "video_renderer.h",
kjellander0f380d82016-06-01 11:48:261113 ]
mbonadeicd95a4e2017-08-24 06:55:541114 deps = [
Niels Möllerc6ce9c52018-05-11 09:15:301115 "../api/video:video_frame",
mbonadeicd95a4e2017-08-24 06:55:541116 "../common_video",
Patrik Höglunda8005cf2017-12-13 15:05:421117 "../rtc_base:checks",
mbonadeicd95a4e2017-08-24 06:55:541118 ]
Mirko Bonadei470b2d52019-10-29 18:39:171119 if (is_win) {
1120 sources += [
1121 "win/d3d_renderer.cc",
1122 "win/d3d_renderer.h",
1123 ]
Artem Titov2aaf4af2019-11-22 12:25:121124 deps += [ "../api:scoped_refptr" ]
Mirko Bonadei470b2d52019-10-29 18:39:171125 }
Hidehiko Abef264e702020-09-10 09:10:111126 if (!((is_linux || is_chromeos) && rtc_use_x11) && !is_mac && !is_win) {
kjellander0f380d82016-06-01 11:48:261127 sources += [ "null_platform_renderer.cc" ]
1128 }
Hidehiko Abef264e702020-09-10 09:10:111129 if (((is_linux || is_chromeos) && rtc_use_x11) || is_mac) {
kjellander0f380d82016-06-01 11:48:261130 sources += [
1131 "gl/gl_renderer.cc",
1132 "gl/gl_renderer.h",
1133 ]
1134 }
Avi Drissman539757b2022-11-29 20:43:121135 if (is_mac) {
1136 defines = [ "GL_SILENCE_DEPRECATION" ]
1137 }
kjellander0f380d82016-06-01 11:48:261138
Hidehiko Abef264e702020-09-10 09:10:111139 if ((is_linux || is_chromeos) && rtc_use_x11) {
Edward Lemur84a87c42017-11-07 18:07:311140 sources += [
1141 "linux/glx_renderer.cc",
1142 "linux/glx_renderer.h",
1143 "linux/video_renderer_linux.cc",
1144 ]
kjellander0f380d82016-06-01 11:48:261145 libs += [
1146 "Xext",
1147 "X11",
1148 "GL",
1149 ]
1150 }
1151 if (is_android) {
1152 libs += [
1153 "GLESv2",
1154 "log",
1155 ]
1156 }
kjellander0f380d82016-06-01 11:48:261157}
kwiberg37e99fd2017-04-10 12:15:481158
Mirko Bonadei86d053c2019-10-17 19:32:041159rtc_library("audio_codec_mocks") {
kwiberg37e99fd2017-04-10 12:15:481160 testonly = true
1161 sources = [
kwiberg2b3aa142017-06-14 10:31:171162 "mock_audio_decoder.cc",
kwiberg37e99fd2017-04-10 12:15:481163 "mock_audio_decoder.h",
1164 "mock_audio_decoder_factory.h",
ossueb1fde42017-05-02 13:46:301165 "mock_audio_encoder.cc",
1166 "mock_audio_encoder.h",
1167 "mock_audio_encoder_factory.h",
1168 ]
1169
1170 deps = [
mbonadei3edccb92017-06-01 11:47:201171 ":test_support",
kwiberg529662a2017-09-04 12:43:171172 "../api:array_view",
Niels Möller105711e2022-06-14 13:48:261173 "../api:make_ref_counted",
Mirko Bonadeid9708072019-01-25 19:26:481174 "../api:scoped_refptr",
ossueb1fde42017-05-02 13:46:301175 "../api/audio_codecs:audio_codecs_api",
mbonadei3edccb92017-06-01 11:47:201176 "../api/audio_codecs:builtin_audio_decoder_factory",
Danil Chapovalov954e72b2024-07-10 17:22:071177 "../api/environment",
kwiberg37e99fd2017-04-10 12:15:481178 ]
1179}
sakald7fdb802017-05-26 08:51:531180
Artem Titov17d7eb42023-04-26 08:17:191181if (!build_with_chromium) {
1182 rtc_library("copy_to_file_audio_capturer") {
1183 testonly = true
1184 sources = [
1185 "testsupport/copy_to_file_audio_capturer.cc",
1186 "testsupport/copy_to_file_audio_capturer.h",
1187 ]
1188 deps = [
1189 "../api:array_view",
1190 "../common_audio",
1191 "../modules/audio_device:test_audio_device_module",
1192 "../rtc_base:buffer",
1193 ]
Artem Titov17d7eb42023-04-26 08:17:191194 }
Artem Titov66a29b92019-01-15 13:43:201195
Artem Titov17d7eb42023-04-26 08:17:191196 rtc_library("copy_to_file_audio_capturer_unittest") {
1197 testonly = true
1198 sources = [ "testsupport/copy_to_file_audio_capturer_unittest.cc" ]
1199 deps = [
1200 ":copy_to_file_audio_capturer",
1201 ":fileutils",
1202 ":test_support",
1203 "../modules/audio_device:test_audio_device_module",
1204 ]
1205 }
1206
Danil Chapovalovf2443a72023-10-09 14:39:401207 rtc_library("test_flags") {
Danil Chapovalovf2443a72023-10-09 14:39:401208 testonly = true
1209 sources = [
1210 "test_flags.cc",
1211 "test_flags.h",
1212 ]
Florent Castelli99c519b2024-05-23 11:21:531213 deps = [ "//third_party/abseil-cpp/absl/flags:flag" ]
Danil Chapovalovf2443a72023-10-09 14:39:401214 }
1215
Artem Titov17d7eb42023-04-26 08:17:191216 rtc_library("test_common") {
1217 testonly = true
1218 sources = [
1219 "call_test.cc",
1220 "call_test.h",
1221 "drifting_clock.cc",
1222 "drifting_clock.h",
1223 "layer_filtering_transport.cc",
1224 "layer_filtering_transport.h",
1225 "rtp_rtcp_observer.h",
1226 ]
1227
1228 deps = [
1229 ":direct_transport",
1230 ":encoder_settings",
1231 ":fake_video_codecs",
1232 ":fileutils",
1233 ":frame_generator_capturer",
1234 ":mock_transport",
1235 ":run_loop",
1236 ":scoped_key_value_config",
Danil Chapovalovf2443a72023-10-09 14:39:401237 ":test_flags",
Artem Titov17d7eb42023-04-26 08:17:191238 ":test_support",
Artem Titovf92cc6d2023-06-29 12:56:591239 ":test_video_capturer",
Artem Titov17d7eb42023-04-26 08:17:191240 ":video_test_common",
1241 ":video_test_constants",
Per K569849e2024-04-29 08:37:371242 "..//test/network:simulated_network",
Artem Titov17d7eb42023-04-26 08:17:191243 "../api:array_view",
1244 "../api:create_frame_generator",
1245 "../api:frame_generator_api",
1246 "../api:rtp_headers",
1247 "../api:rtp_parameters",
1248 "../api:simulated_network_api",
1249 "../api:transport_api",
Florent Castellif4673f92024-04-19 19:46:031250 "../api/audio:audio_device",
Danil Chapovalov037ab262024-11-01 10:43:081251 "../api/audio:builtin_audio_processing_builder",
Artem Titov17d7eb42023-04-26 08:17:191252 "../api/audio_codecs:builtin_audio_decoder_factory",
1253 "../api/audio_codecs:builtin_audio_encoder_factory",
Danil Chapovalovc03d8b62023-11-29 14:54:321254 "../api/environment",
1255 "../api/environment:environment_factory",
Artem Titov17d7eb42023-04-26 08:17:191256 "../api/rtc_event_log",
1257 "../api/task_queue",
Artem Titov17d7eb42023-04-26 08:17:191258 "../api/test/video:function_video_factory",
1259 "../api/transport:field_trial_based_config",
1260 "../api/units:time_delta",
1261 "../api/video:builtin_video_bitrate_allocator_factory",
1262 "../api/video:video_bitrate_allocator_factory",
1263 "../api/video:video_frame",
1264 "../api/video_codecs:video_codecs_api",
1265 "../call",
1266 "../call:call_interfaces",
1267 "../call:fake_network",
Artem Titov17d7eb42023-04-26 08:17:191268 "../call:simulated_packet_receiver",
Harald Alvestrandd8bddfe2024-10-13 21:08:301269 "../call:video_send_stream_api",
Artem Titov17d7eb42023-04-26 08:17:191270 "../modules/audio_device:test_audio_device_module",
1271 "../modules/audio_mixer:audio_mixer_impl",
1272 "../modules/rtp_rtcp",
1273 "../modules/rtp_rtcp:rtp_rtcp_format",
1274 "../modules/rtp_rtcp:rtp_video_header",
1275 "../modules/video_coding:codec_globals_headers",
1276 "../rtc_base:checks",
1277 "../rtc_base:criticalsection",
1278 "../rtc_base:rtc_event",
1279 "../rtc_base:task_queue_for_test",
1280 "../rtc_base:threading",
1281 "../rtc_base:timeutils",
1282 "../system_wrappers",
1283 "../system_wrappers:field_trial",
1284 "../video/config:encoder_config",
Danil Chapovalovf2443a72023-10-09 14:39:401285 "//third_party/abseil-cpp/absl/flags:flag",
Danil Chapovalovf2443a72023-10-09 14:39:401286 ]
Artem Titov17d7eb42023-04-26 08:17:191287 if (!is_android && !build_with_chromium) {
1288 deps += [ "../modules/video_capture:video_capture_internal_impl" ]
1289 }
1290 }
Artem Titov66a29b92019-01-15 13:43:201291}
1292
sakald7fdb802017-05-26 08:51:531293if (!build_with_chromium && is_android) {
Mirko Bonadeifbb3b7d2017-11-07 15:36:331294 rtc_android_library("native_test_java") {
sakald7fdb802017-05-26 08:51:531295 testonly = true
Natalie Chouinard65bbcab2019-12-23 22:02:251296 sources = [
sakald7fdb802017-05-26 08:51:531297 "android/org/webrtc/native_test/RTCNativeUnitTest.java",
1298 "android/org/webrtc/native_test/RTCNativeUnitTestActivity.java",
1299 ]
1300 deps = [
jianjun.zhuc0247402017-07-11 13:20:451301 "../rtc_base:base_java",
sakald7fdb802017-05-26 08:51:531302 "//testing/android/native_test:native_test_java",
sakald7fdb802017-05-26 08:51:531303 ]
1304 }
1305}
Benjamin Wright8efafdf2019-01-11 18:48:421306
Mirko Bonadei86d053c2019-10-17 19:32:041307rtc_library("call_config_utils") {
Sam Zackrisson2e1f16d2023-10-25 13:18:251308 testonly = true
1309
Mirko Bonadei2c9d5e42019-07-15 11:17:481310 # TODO(bugs.webrtc.org/10814): Remove rtc_json_suppressions as soon as it
1311 # gets removed upstream.
1312 public_configs = [ "../rtc_base:rtc_json_suppressions" ]
Benjamin Wright8efafdf2019-01-11 18:48:421313 sources = [
1314 "call_config_utils.cc",
1315 "call_config_utils.h",
1316 ]
1317 deps = [
Harald Alvestrandd8bddfe2024-10-13 21:08:301318 "../call:video_receive_stream_api",
Benjamin Wright8efafdf2019-01-11 18:48:421319 "../rtc_base:rtc_json",
1320 ]
1321}
Evan Shrubsolea0ee64c2022-04-26 08:09:041322
1323rtc_library("fake_encoded_frame") {
1324 testonly = true
1325 sources = [
1326 "fake_encoded_frame.cc",
1327 "fake_encoded_frame.h",
1328 ]
1329 deps = [
1330 ":test_support",
1331 "../api:rtp_packet_info",
1332 "../api/video:encoded_frame",
Evan Shrubsolea4062722022-05-02 15:46:071333 "../api/video:encoded_image",
1334 "../api/video:video_frame_type",
Evan Shrubsolea0ee64c2022-04-26 08:09:041335 "../api/video:video_rtp_headers",
1336 ]
Evan Shrubsolea0ee64c2022-04-26 08:09:041337}
Sergey Silkind4311562023-11-13 14:48:251338
1339rtc_library("video_codec_tester") {
1340 testonly = true
1341 sources = [
1342 "video_codec_tester.cc",
1343 "video_codec_tester.h",
1344 ]
1345 deps = [
Artem Titoveb3da2b2024-06-26 11:23:441346 ":video_frame_writer",
1347 ":video_test_support",
Sergey Silkind4311562023-11-13 14:48:251348 "../api:array_view",
Sergey Silkinb792d602024-06-03 14:16:011349 "../api:create_frame_generator",
1350 "../api:frame_generator_api",
Danil Chapovalov329f0ea2024-03-08 13:30:541351 "../api/environment",
Sergey Silkinb792d602024-06-03 14:16:011352 "../api/environment:environment_factory",
Sergey Silkind4311562023-11-13 14:48:251353 "../api/numerics:numerics",
1354 "../api/test/metrics:metric",
1355 "../api/test/metrics:metrics_logger",
1356 "../api/units:data_rate",
1357 "../api/units:data_size",
1358 "../api/units:frequency",
1359 "../api/units:time_delta",
1360 "../api/units:timestamp",
1361 "../api/video:builtin_video_bitrate_allocator_factory",
1362 "../api/video:encoded_image",
1363 "../api/video:resolution",
1364 "../api/video:video_bitrate_allocator",
1365 "../api/video:video_frame",
1366 "../api/video_codecs:video_codecs_api",
1367 "../media:media_constants",
1368 "../modules/video_coding:video_codec_interface",
1369 "../modules/video_coding:video_coding_utility",
Sergey Silkin37e9b372024-01-19 13:07:201370 "../modules/video_coding:webrtc_h264",
Sergey Silkind4311562023-11-13 14:48:251371 "../modules/video_coding:webrtc_vp9_helpers",
1372 "../modules/video_coding/codecs/av1:av1_svc_config",
1373 "../modules/video_coding/svc:scalability_mode_util",
1374 "../rtc_base:checks",
1375 "../rtc_base:logging",
1376 "../rtc_base:rtc_event",
Sergey Silkin2d86b252023-11-19 15:02:371377 "../rtc_base:stringutils",
Sergey Silkind4311562023-11-13 14:48:251378 "../rtc_base:task_queue_for_test",
1379 "../rtc_base:timeutils",
1380 "../rtc_base/synchronization:mutex",
1381 "../system_wrappers",
1382 "../test:fileutils",
Sergey Silkin9e5c9792023-12-22 08:39:561383 "../video/config:streams_config",
Florent Castelli99c519b2024-05-23 11:21:531384 "//third_party/abseil-cpp/absl/strings",
Florent Castelli99c519b2024-05-23 11:21:531385 "//third_party/libyuv",
Sergey Silkin853e2472024-05-03 13:36:091386 ]
Sergey Silkind4311562023-11-13 14:48:251387}