blob: caa4f6d8dcd17f32c09172dd184f3e8286a3adca [file] [log] [blame]
kjellander@webrtc.org1227ab82014-06-23 19:21:071# 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
mbonadei9aa3f0a2017-01-24 14:58:229import("../webrtc.gni")
kjellander@webrtc.org1227ab82014-06-23 19:21:0710
Mirko Bonadei86d053c2019-10-17 19:32:0411rtc_library("video") {
kjellander@webrtc.org788f0582014-08-28 13:51:0812 sources = [
Benjamin Wright00765292018-12-01 00:18:2613 "buffered_frame_decryptor.cc",
14 "buffered_frame_decryptor.h",
Tommi822a8742020-05-10 22:42:3015 "call_stats2.cc",
16 "call_stats2.h",
Elad Alon14d1c9d2019-04-08 12:16:1717 "encoder_rtcp_feedback.cc",
18 "encoder_rtcp_feedback.h",
Henrik Boströmce33b6a2019-05-28 15:42:3819 "quality_limitation_reason_tracker.cc",
20 "quality_limitation_reason_tracker.h",
palmkvist349092b2016-12-13 10:45:5721 "quality_threshold.cc",
22 "quality_threshold.h",
Tommi74fc5742020-04-27 08:43:0623 "receive_statistics_proxy2.cc",
24 "receive_statistics_proxy2.h",
Peter Boström7623ce42015-12-09 11:13:3025 "report_block_stats.cc",
26 "report_block_stats.h",
Tommiad84d022020-05-10 17:03:4327 "rtp_streams_synchronizer2.cc",
28 "rtp_streams_synchronizer2.h",
Tommid3807da2020-05-22 15:36:3629 "rtp_video_stream_receiver2.cc",
30 "rtp_video_stream_receiver2.h",
Marina Ciocea78964c12020-03-10 20:31:5231 "rtp_video_stream_receiver_frame_transformer_delegate.cc",
32 "rtp_video_stream_receiver_frame_transformer_delegate.h",
asapersson35151f32016-05-03 06:44:0133 "send_delay_stats.cc",
34 "send_delay_stats.h",
kjellander@webrtc.org788f0582014-08-28 13:51:0835 "send_statistics_proxy.cc",
36 "send_statistics_proxy.h",
asapersson0e9d6d92016-05-23 13:07:5537 "stats_counter.cc",
38 "stats_counter.h",
Peter Boström7623ce42015-12-09 11:13:3039 "stream_synchronization.cc",
40 "stream_synchronization.h",
charujainbf6a45b2016-11-03 11:21:4241 "transport_adapter.cc",
42 "transport_adapter.h",
Tommi74fc5742020-04-27 08:43:0643 "video_quality_observer2.cc",
44 "video_quality_observer2.h",
Tommi74fc5742020-04-27 08:43:0645 "video_receive_stream2.cc",
46 "video_receive_stream2.h",
kjellander@webrtc.org788f0582014-08-28 13:51:0847 "video_send_stream.cc",
48 "video_send_stream.h",
Sebastian Jansson8e0b15b2018-04-18 17:19:2249 "video_send_stream_impl.cc",
50 "video_send_stream_impl.h",
Tommi74fc5742020-04-27 08:43:0651 "video_stream_decoder2.cc",
52 "video_stream_decoder2.h",
kjellander@webrtc.org788f0582014-08-28 13:51:0853 ]
54
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:2255 deps = [
Evan Shrubsole9d290262021-12-15 13:33:4056 ":frame_buffer_proxy",
Markus Handellb4e96d42021-11-05 11:00:5557 ":frame_cadence_adapter",
Evan Shrubsole9a999052021-12-12 14:27:0058 ":frame_decode_scheduler",
Erik Språng96965ae2018-10-23 13:42:3759 ":frame_dumping_decoder",
Evan Shrubsole9a999052021-12-12 14:27:0060 ":video_receive_stream_timeout_tracker",
Per Kjellanderb03b6c82021-01-03 09:26:0361 ":video_stream_encoder_impl",
Yves Gerey3e707812018-11-28 15:47:4962 "../api:array_view",
Ying Wang3b790f32018-01-19 16:58:5763 "../api:fec_controller_api",
Marina Ciocea412a31b2020-02-28 15:02:0664 "../api:frame_transformer_interface",
Patrik Höglundbe214a22018-01-04 11:14:3565 "../api:libjingle_peerconnection_api",
Niels Möller6dcd4dc2019-08-26 08:45:2866 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:4867 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:2468 "../api:sequence_checker",
aleloia8eb7562016-11-28 15:02:1369 "../api:transport_api",
Mirko Bonadeieaaaf412019-09-13 12:42:1570 "../api/crypto:frame_decryptor_interface",
71 "../api/crypto:options",
Danil Chapovalov83bbe912019-08-07 10:24:5372 "../api/rtc_event_log",
Sebastian Jansson74682c12019-03-01 10:50:2073 "../api/task_queue",
Tommi28e96532021-06-03 09:52:1574 "../api/units:time_delta",
Tommid7e08c82020-05-10 09:24:4375 "../api/units:timestamp",
Yves Gerey3e707812018-11-28 15:47:4976 "../api/video:encoded_image",
Markus Handell269ac812019-12-03 13:31:4577 "../api/video:recordable_encoded_frame",
Yves Gerey3e707812018-11-28 15:47:4978 "../api/video:video_bitrate_allocation",
Jiawei Ou4206a0a2018-07-20 22:49:4379 "../api/video:video_bitrate_allocator",
Evan Shrubsolecc62b162019-09-09 09:26:4580 "../api/video:video_codec_constants",
Niels Möllerc6ce9c52018-05-11 09:15:3081 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:3882 "../api/video:video_rtp_headers",
Niels Möller0327c2d2018-05-21 12:09:3183 "../api/video:video_stream_encoder",
ilnikd60d06a2017-04-05 10:02:2084 "../api/video_codecs:video_codecs_api",
Mirko Bonadei245660a2017-10-10 12:38:1185 "../call:bitrate_allocator",
mbonadei9087d492017-04-25 07:35:3586 "../call:call_interfaces",
nissed76b7b22017-06-01 11:02:3587 "../call:rtp_interfaces",
Danil Chapovalov1aa75812019-03-05 10:11:3588 "../call:rtp_receiver", # For RtxReceiveStream.
Stefan Holmera2f15332018-07-11 15:11:3189 "../call:rtp_sender",
aleloi440b6d92017-08-22 12:43:2390 "../call:video_stream_api",
Danil Chapovalov1aa75812019-03-05 10:11:3591 "../common_video",
Danil Chapovalov1aa75812019-03-05 10:11:3592 "../modules:module_api",
Yves Gerey3e707812018-11-28 15:47:4993 "../modules:module_api_public",
Danil Chapovalov1aa75812019-03-05 10:11:3594 "../modules/pacing",
95 "../modules/remote_bitrate_estimator",
96 "../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:3397 "../modules/rtp_rtcp:rtp_rtcp_format",
philipel1a4746a2018-07-09 13:52:2998 "../modules/rtp_rtcp:rtp_video_header",
Danil Chapovalov1aa75812019-03-05 10:11:3599 "../modules/video_coding",
Sergey Silkin86684962018-03-28 17:32:37100 "../modules/video_coding:codec_globals_headers",
Evan Shrubsole9a999052021-12-12 14:27:00101 "../modules/video_coding:frame_buffer",
102 "../modules/video_coding:frame_helpers",
Markus Handell06a2bf02021-07-22 13:09:39103 "../modules/video_coding:nack_requester",
philipel10dc1a62021-09-15 08:45:43104 "../modules/video_coding:packet_buffer",
Evan Shrubsole9a999052021-12-12 14:27:00105 "../modules/video_coding:timing",
Patrik Höglund99175c62018-01-08 10:05:10106 "../modules/video_coding:video_codec_interface",
Danil Chapovalov1aa75812019-03-05 10:11:35107 "../modules/video_coding:video_coding_utility",
108 "../modules/video_processing",
Patrik Höglunda8005cf2017-12-13 15:05:42109 "../rtc_base:checks",
Stefan Holmerdbdb3a02018-07-17 14:03:46110 "../rtc_base:rate_limiter",
Marina Ciocea78964c12020-03-10 20:31:52111 "../rtc_base:rtc_base",
Danil Chapovalov1aa75812019-03-05 10:11:35112 "../rtc_base:rtc_base_approved",
113 "../rtc_base:rtc_numerics",
114 "../rtc_base:rtc_task_queue",
Tommifef05002018-02-27 12:51:08115 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01116 "../rtc_base:threading",
Danil Chapovalov1aa75812019-03-05 10:11:35117 "../rtc_base:weak_ptr",
Sebastian Janssoncabe3832018-01-12 09:54:18118 "../rtc_base/experiments:alr_experiment",
Jonas Olsson0182a032019-07-09 10:31:20119 "../rtc_base/experiments:field_trial_parser",
Rasmus Brandt3dde4502019-03-21 10:46:17120 "../rtc_base/experiments:keyframe_interval_settings_experiment",
Elad Alon80f53b72019-10-11 14:19:43121 "../rtc_base/experiments:min_video_bitrate_experiment",
Åsa Perssona945aee2018-04-24 14:53:25122 "../rtc_base/experiments:quality_scaling_experiment",
Erik Språngcd76eab2019-01-21 17:06:46123 "../rtc_base/experiments:rate_control_settings",
Evan Shrubsole9a999052021-12-12 14:27:00124 "../rtc_base/experiments:rtt_mult_experiment",
Markus Handella3765182020-07-08 11:13:32125 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:42126 "../rtc_base/system:no_unique_address",
Karl Wibergab036382019-03-12 17:01:51127 "../rtc_base/system:thread_registry",
Tommi3c9bcc12020-04-15 14:45:47128 "../rtc_base/task_utils:pending_task_safety_flag",
Sebastian Janssonecb68972019-01-18 09:30:54129 "../rtc_base/task_utils:repeating_task",
Danil Chapovalov1aa75812019-03-05 10:11:35130 "../rtc_base/task_utils:to_queued_task",
131 "../rtc_base/time:timestamp_extrapolator",
132 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10133 "../system_wrappers:field_trial",
134 "../system_wrappers:metrics",
Per Kjellanderb03b6c82021-01-03 09:26:03135 "./adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41136 ]
137 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27138 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov64f1f3f2020-01-16 13:41:10139 "//third_party/abseil-cpp/absl/base:core_headers",
Evan Shrubsole9a999052021-12-12 14:27:00140 "//third_party/abseil-cpp/absl/container:inlined_vector",
141 "//third_party/abseil-cpp/absl/functional:bind_front",
Karl Wiberg918f50c2018-07-05 09:40:33142 "//third_party/abseil-cpp/absl/memory",
Mirko Bonadei06d35592020-04-01 11:43:08143 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovb9b146c2018-06-15 10:28:07144 "//third_party/abseil-cpp/absl/types:optional",
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22145 ]
Dan Minor9c686132018-01-15 15:20:00146
147 if (!build_with_mozilla) {
148 deps += [ "../media:rtc_media_base" ]
149 }
kjellander@webrtc.org1227ab82014-06-23 19:21:07150}
Peter Boström02083222016-06-14 10:52:54151
Niels Möllerd73426d62020-12-16 14:57:49152rtc_source_set("video_legacy") {
Niels Möller3e9cb2c2021-01-14 11:00:57153 sources = [
154 "call_stats.cc",
155 "call_stats.h",
156 "receive_statistics_proxy.cc",
157 "receive_statistics_proxy.h",
158 "rtp_streams_synchronizer.cc",
159 "rtp_streams_synchronizer.h",
160 "rtp_video_stream_receiver.cc",
161 "rtp_video_stream_receiver.h",
162 "video_quality_observer.cc",
163 "video_quality_observer.h",
Niels Möller3e9cb2c2021-01-14 11:00:57164 "video_stream_decoder.cc",
165 "video_stream_decoder.h",
166 ]
167 deps = [
168 ":frame_dumping_decoder",
169 ":video",
170 "../api:array_view",
171 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24172 "../api:sequence_checker",
Niels Möller3e9cb2c2021-01-14 11:00:57173 "../api/crypto:frame_decryptor_interface",
174 "../api/task_queue",
philipelce423ce2021-04-12 11:42:03175 "../api/units:timestamp",
Niels Möller3e9cb2c2021-01-14 11:00:57176 "../api/video:encoded_image",
177 "../api/video:recordable_encoded_frame",
178 "../api/video:video_frame",
179 "../api/video:video_rtp_headers",
180 "../api/video_codecs:video_codecs_api",
181 "../call:call_interfaces",
182 "../call:rtp_interfaces",
183 "../call:rtp_receiver", # For RtxReceiveStream.
184 "../call:video_stream_api",
185 "../common_video",
Niels Möller3e9cb2c2021-01-14 11:00:57186 "../modules:module_api",
187 "../modules/pacing",
188 "../modules/remote_bitrate_estimator",
189 "../modules/rtp_rtcp",
190 "../modules/rtp_rtcp:rtp_rtcp_format",
191 "../modules/rtp_rtcp:rtp_rtcp_legacy",
192 "../modules/rtp_rtcp:rtp_video_header",
193 "../modules/utility",
194 "../modules/video_coding",
philipel10dc1a62021-09-15 08:45:43195 "../modules/video_coding:packet_buffer",
Niels Möller3e9cb2c2021-01-14 11:00:57196 "../modules/video_coding:video_codec_interface",
197 "../modules/video_coding:video_coding_utility",
198 "../modules/video_coding/deprecated:nack_module",
199 "../rtc_base:checks",
200 "../rtc_base:rtc_base_approved",
201 "../rtc_base:rtc_numerics",
202 "../rtc_base:rtc_task_queue",
203 "../rtc_base/experiments:field_trial_parser",
204 "../rtc_base/experiments:keyframe_interval_settings_experiment",
205 "../rtc_base/synchronization:mutex",
206 "../rtc_base/system:no_unique_address",
207 "../rtc_base/system:thread_registry",
208 "../rtc_base/task_utils:to_queued_task",
209 "../system_wrappers",
210 "../system_wrappers:field_trial",
211 "../system_wrappers:metrics",
212 ]
213 if (!build_with_mozilla) {
214 deps += [ "../media:rtc_media_base" ]
215 }
216 absl_deps = [
217 "//third_party/abseil-cpp/absl/algorithm:container",
218 "//third_party/abseil-cpp/absl/types:optional",
219 ]
Niels Möllerd73426d62020-12-16 14:57:49220}
221
Mirko Bonadei86d053c2019-10-17 19:32:04222rtc_library("video_stream_decoder_impl") {
philipel2fee4d62018-03-21 15:52:13223 visibility = [ "*" ]
Anders Carlsson51e23ae2018-05-24 11:31:30224
philipel2fee4d62018-03-21 15:52:13225 sources = [
226 "video_stream_decoder_impl.cc",
227 "video_stream_decoder_impl.h",
228 ]
229
230 deps = [
Artem Titovd15a5752021-02-10 13:31:24231 "../api:sequence_checker",
Danil Chapovalov471783f2019-03-11 13:26:02232 "../api/task_queue",
Niels Möllerc6ce9c52018-05-11 09:15:30233 "../api/video:encoded_frame",
234 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38235 "../api/video:video_rtp_headers",
Niels Möllerc6ce9c52018-05-11 09:15:30236 "../api/video:video_stream_decoder",
philipel2fee4d62018-03-21 15:52:13237 "../api/video_codecs:video_codecs_api",
Artem Titov94b57c02019-03-21 12:35:10238 "../modules/video_coding",
Evan Shrubsole9a999052021-12-12 14:27:00239 "../modules/video_coding:timing",
philipel2fee4d62018-03-21 15:52:13240 "../rtc_base:rtc_base_approved",
Danil Chapovalov07a4f2b2019-03-05 18:58:28241 "../rtc_base:rtc_task_queue",
Markus Handell265931e2020-07-10 10:23:48242 "../rtc_base/synchronization:mutex",
Artem Titov94b57c02019-03-21 12:35:10243 "../system_wrappers",
philipel2fee4d62018-03-21 15:52:13244 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41245 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
philipel2fee4d62018-03-21 15:52:13246}
247
Mirko Bonadei86d053c2019-10-17 19:32:04248rtc_library("frame_dumping_decoder") {
Erik Språng96965ae2018-10-23 13:42:37249 visibility = [ "*" ]
250
251 sources = [
252 "frame_dumping_decoder.cc",
253 "frame_dumping_decoder.h",
254 ]
255
256 deps = [
257 "../api/video:encoded_frame",
Yves Gerey3e707812018-11-28 15:47:49258 "../api/video:encoded_image",
Erik Språng96965ae2018-10-23 13:42:37259 "../api/video_codecs:video_codecs_api",
Artem Titov94b57c02019-03-21 12:35:10260 "../modules/video_coding",
Erik Språng96965ae2018-10-23 13:42:37261 "../modules/video_coding:video_codec_interface",
Erik Språng96965ae2018-10-23 13:42:37262 "../modules/video_coding:video_coding_utility",
263 "../rtc_base:rtc_base_approved",
Markus Handell1c2f6372019-08-20 18:21:37264 "../rtc_base/system:file_wrapper",
Erik Språng96965ae2018-10-23 13:42:37265 ]
266}
267
Markus Handellb4e96d42021-11-05 11:00:55268rtc_library("frame_cadence_adapter") {
269 visibility = [ "*" ]
270 sources = [
271 "frame_cadence_adapter.cc",
272 "frame_cadence_adapter.h",
273 ]
274
275 deps = [
276 "../api:sequence_checker",
Markus Handell28c71802021-11-08 09:11:55277 "../api/task_queue",
Markus Handell29dd8d82021-12-15 11:19:15278 "../api/units:time_delta",
Markus Handellb4e96d42021-11-05 11:00:55279 "../api/video:video_frame",
Markus Handell8d87c462021-12-16 10:37:16280 "../rtc_base:checks",
Markus Handellb4e96d42021-11-05 11:00:55281 "../rtc_base:logging",
282 "../rtc_base:macromagic",
283 "../rtc_base:rtc_base_approved",
284 "../rtc_base/synchronization:mutex",
Markus Handellee225432021-11-29 11:35:12285 "../rtc_base/system:no_unique_address",
Markus Handell28c71802021-11-08 09:11:55286 "../rtc_base/task_utils:pending_task_safety_flag",
287 "../rtc_base/task_utils:to_queued_task",
Markus Handell9a478b52021-11-18 15:07:01288 "../system_wrappers",
Markus Handellb4e96d42021-11-05 11:00:55289 "../system_wrappers:field_trial",
290 "../system_wrappers:metrics",
291 ]
Markus Handell2e0f4f02021-12-21 18:14:58292 absl_deps = [
293 "//third_party/abseil-cpp/absl/algorithm:container",
294 "//third_party/abseil-cpp/absl/base:core_headers",
295 ]
Markus Handellb4e96d42021-11-05 11:00:55296}
297
Evan Shrubsole9d290262021-12-15 13:33:40298rtc_library("frame_buffer_proxy") {
299 sources = [
300 "frame_buffer_proxy.cc",
301 "frame_buffer_proxy.h",
302 ]
303 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26304 ":decode_synchronizer",
Evan Shrubsole9a999052021-12-12 14:27:00305 ":frame_decode_timing",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26306 ":task_queue_frame_decode_scheduler",
Evan Shrubsole9a999052021-12-12 14:27:00307 ":video_receive_stream_timeout_tracker",
308 "../api:sequence_checker",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26309 "../api/metronome",
Evan Shrubsole9d290262021-12-15 13:33:40310 "../api/task_queue",
311 "../api/video:encoded_frame",
312 "../modules/video_coding",
Evan Shrubsole9a999052021-12-12 14:27:00313 "../modules/video_coding:frame_buffer",
314 "../modules/video_coding:frame_helpers",
315 "../modules/video_coding:timing",
Evan Shrubsole9d290262021-12-15 13:33:40316 "../modules/video_coding:video_codec_interface",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26317 "../rtc_base:checks",
Evan Shrubsole9a999052021-12-12 14:27:00318 "../rtc_base:logging",
319 "../rtc_base:macromagic",
Evan Shrubsole9d290262021-12-15 13:33:40320 "../rtc_base:rtc_task_queue",
321 "../system_wrappers",
Evan Shrubsole9a999052021-12-12 14:27:00322 "../system_wrappers:field_trial",
323 ]
324 absl_deps = [
325 "//third_party/abseil-cpp/absl/functional:bind_front",
326 "//third_party/abseil-cpp/absl/types:optional",
327 ]
328}
329
Evan Shrubsole6cd6d8e2022-02-11 14:30:26330rtc_source_set("frame_decode_scheduler") {
331 sources = [ "frame_decode_scheduler.h" ]
332 deps = [
333 ":frame_decode_timing",
334 "../api/units:timestamp",
335 ]
336 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
337}
338
339rtc_library("task_queue_frame_decode_scheduler") {
Evan Shrubsole9a999052021-12-12 14:27:00340 sources = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26341 "task_queue_frame_decode_scheduler.cc",
342 "task_queue_frame_decode_scheduler.h",
Evan Shrubsole9a999052021-12-12 14:27:00343 ]
344 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26345 ":frame_decode_scheduler",
Evan Shrubsole9a999052021-12-12 14:27:00346 ":frame_decode_timing",
347 "../api:sequence_checker",
348 "../api/task_queue",
349 "../api/units:timestamp",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26350 "../rtc_base:checks",
Evan Shrubsole9a999052021-12-12 14:27:00351 "../rtc_base/task_utils:pending_task_safety_flag",
352 "../rtc_base/task_utils:to_queued_task",
353 "../system_wrappers",
Evan Shrubsole9d290262021-12-15 13:33:40354 ]
355 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
356}
357
Evan Shrubsole9a999052021-12-12 14:27:00358rtc_library("frame_decode_timing") {
359 sources = [
360 "frame_decode_timing.cc",
361 "frame_decode_timing.h",
362 ]
363 deps = [
364 "../api/task_queue",
Evan Shrubsolef7a19372022-02-14 13:05:10365 "../api/units:time_delta",
Evan Shrubsole9a999052021-12-12 14:27:00366 "../modules/video_coding:timing",
367 "../rtc_base:logging",
368 "../rtc_base/task_utils:pending_task_safety_flag",
369 "../system_wrappers",
370 ]
371 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
372}
373
374rtc_library("video_receive_stream_timeout_tracker") {
375 sources = [
376 "video_receive_stream_timeout_tracker.cc",
377 "video_receive_stream_timeout_tracker.h",
378 ]
379 deps = [
380 "../api/task_queue",
381 "../api/units:time_delta",
382 "../rtc_base/task_utils:repeating_task",
383 "../system_wrappers",
384 ]
385}
386
Evan Shrubsole6cd6d8e2022-02-11 14:30:26387rtc_library("decode_synchronizer") {
388 sources = [
389 "decode_synchronizer.cc",
390 "decode_synchronizer.h",
391 ]
392 deps = [
393 ":frame_decode_scheduler",
394 ":frame_decode_timing",
395 "../api:sequence_checker",
396 "../api/metronome",
397 "../api/task_queue",
398 "../api/units:time_delta",
399 "../api/units:timestamp",
400 "../rtc_base:checks",
401 "../rtc_base:logging",
402 "../rtc_base:macromagic",
403 ]
404 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
405}
406
Mirko Bonadei86d053c2019-10-17 19:32:04407rtc_library("video_stream_encoder_impl") {
Niels Möller213618e2018-07-24 07:29:58408 visibility = [ "*" ]
409
410 # visibility = [ "../api/video:video_stream_encoder_create" ]
Niels Möller213618e2018-07-24 07:29:58411 sources = [
Åsa Perssonc5a74ff2020-09-20 15:50:00412 "alignment_adjuster.cc",
413 "alignment_adjuster.h",
Erik Språng7ca375c2019-02-06 15:20:17414 "encoder_bitrate_adjuster.cc",
415 "encoder_bitrate_adjuster.h",
416 "encoder_overshoot_detector.cc",
417 "encoder_overshoot_detector.h",
Ilya Nikolaevskiy2ebf5232019-05-13 14:13:36418 "frame_encode_metadata_writer.cc",
419 "frame_encode_metadata_writer.h",
Henrik Boströmce0ea492020-01-13 10:27:18420 "video_source_sink_controller.cc",
421 "video_source_sink_controller.h",
Niels Möller213618e2018-07-24 07:29:58422 "video_stream_encoder.cc",
423 "video_stream_encoder.h",
424 ]
425
Niels Möller213618e2018-07-24 07:29:58426 deps = [
Markus Handellb4e96d42021-11-05 11:00:55427 ":frame_cadence_adapter",
Henrik Boströmb08882b2020-01-07 09:11:17428 "../api:rtp_parameters",
Artem Titovd15a5752021-02-10 13:31:24429 "../api:sequence_checker",
Henrik Boströme2e8c172020-06-03 07:24:06430 "../api/adaptation:resource_adaptation_api",
Henrik Boström07b17df2020-01-15 10:42:12431 "../api/task_queue:task_queue",
Erik Språng7ca375c2019-02-06 15:20:17432 "../api/units:data_rate",
Niels Möller4dc66c52018-10-05 12:17:58433 "../api/video:encoded_image",
Evan Shrubsolece0a11d2020-04-16 09:36:55434 "../api/video:video_adaptation",
Erik Språng7ca375c2019-02-06 15:20:17435 "../api/video:video_bitrate_allocation",
Niels Möller213618e2018-07-24 07:29:58436 "../api/video:video_bitrate_allocator",
Jiawei Ouc2ebe212018-11-08 18:02:56437 "../api/video:video_bitrate_allocator_factory",
Evan Shrubsolecc62b162019-09-09 09:26:45438 "../api/video:video_codec_constants",
Niels Möller213618e2018-07-24 07:29:58439 "../api/video:video_frame",
Per Kjellandera9434842020-10-15 15:53:22440 "../api/video:video_layers_allocation",
Chen Xing5d24b162019-06-10 10:59:38441 "../api/video:video_rtp_headers",
Niels Möller213618e2018-07-24 07:29:58442 "../api/video:video_stream_encoder",
443 "../api/video_codecs:video_codecs_api",
Henrik Boström382cc6d2020-01-07 09:15:04444 "../call/adaptation:resource_adaptation",
Artem Titov94b57c02019-03-21 12:35:10445 "../common_video",
Erik Språng6a7baa72019-02-26 17:31:00446 "../modules:module_api_public",
Niels Möller213618e2018-07-24 07:29:58447 "../modules/video_coding",
Erik Språng6a7baa72019-02-26 17:31:00448 "../modules/video_coding:video_codec_interface",
Niels Möller213618e2018-07-24 07:29:58449 "../modules/video_coding:video_coding_utility",
Sergey Silkin8b9b5f92018-12-10 08:28:53450 "../modules/video_coding:webrtc_vp9_helpers",
Zhaoliang Ma528e4892021-11-12 05:05:07451 "../modules/video_coding/svc:scalability_structures",
Danil Chapovalov5219c6f2021-07-27 10:48:50452 "../modules/video_coding/svc:svc_rate_allocator",
Niels Möller213618e2018-07-24 07:29:58453 "../rtc_base:checks",
454 "../rtc_base:criticalsection",
455 "../rtc_base:logging",
Niels Möller213618e2018-07-24 07:29:58456 "../rtc_base:rtc_base_approved",
457 "../rtc_base:rtc_event",
458 "../rtc_base:rtc_numerics",
459 "../rtc_base:rtc_task_queue",
Niels Möller213618e2018-07-24 07:29:58460 "../rtc_base:timeutils",
Erik Språng6a7baa72019-02-26 17:31:00461 "../rtc_base/experiments:alr_experiment",
Åsa Perssonf3d828e2019-05-06 10:22:49462 "../rtc_base/experiments:balanced_degradation_settings",
Åsa Persson258e9892021-02-25 09:39:51463 "../rtc_base/experiments:encoder_info_settings",
Niels Möllereea92882019-04-25 06:44:04464 "../rtc_base/experiments:field_trial_parser",
Åsa Perssone644a032019-11-08 14:56:00465 "../rtc_base/experiments:quality_rampup_experiment",
Åsa Persson139f4dc2019-08-02 07:29:58466 "../rtc_base/experiments:quality_scaler_settings",
Niels Möller213618e2018-07-24 07:29:58467 "../rtc_base/experiments:quality_scaling_experiment",
Erik Språng7ca375c2019-02-06 15:20:17468 "../rtc_base/experiments:rate_control_settings",
Markus Handella3765182020-07-08 11:13:32469 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:42470 "../rtc_base/system:no_unique_address",
Tomas Gunnarsson612445e2020-09-21 12:31:23471 "../rtc_base/task_utils:pending_task_safety_flag",
Sebastian Janssonecb68972019-01-18 09:30:54472 "../rtc_base/task_utils:repeating_task",
Markus Handell8935a7e2021-10-19 11:12:36473 "../rtc_base/task_utils:to_queued_task",
Niels Möllerfe407b72019-09-10 08:48:48474 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10475 "../system_wrappers:field_trial",
Markus Handell8935a7e2021-10-19 11:12:36476 "../system_wrappers:metrics",
Henrik Boströmefbec9a2020-03-06 09:41:25477 "adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41478 ]
479 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27480 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov64f1f3f2020-01-16 13:41:10481 "//third_party/abseil-cpp/absl/base:core_headers",
Niels Möller213618e2018-07-24 07:29:58482 "//third_party/abseil-cpp/absl/types:optional",
483 ]
484}
485
Peter Boström02083222016-06-14 10:52:54486if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:04487 rtc_library("video_mocks") {
Sebastian Jansson652dc912018-04-19 15:09:15488 testonly = true
Danil Chapovalov64f1f3f2020-01-16 13:41:10489 sources = [ "test/mock_video_stream_encoder.h" ]
Sebastian Jansson652dc912018-04-19 15:09:15490 deps = [
Niels Möller213618e2018-07-24 07:29:58491 "../api/video:video_stream_encoder",
Sebastian Jansson652dc912018-04-19 15:09:15492 "../test:test_support",
493 ]
494 }
Andrey Logvine7c79fd2021-02-01 09:56:37495 if (!build_with_chromium) {
496 rtc_library("video_quality_test") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09497 testonly = true
Andrey Logvine7c79fd2021-02-01 09:56:37498
499 # Only targets in this file and api/ can depend on this.
500 visibility = [
501 ":*",
502 "../api:create_video_quality_test_fixture_api",
503 ]
504 sources = [
505 "video_analyzer.cc",
506 "video_analyzer.h",
507 "video_quality_test.cc",
508 "video_quality_test.h",
509 ]
510 deps = [
511 ":frame_dumping_decoder",
512 "../api:create_frame_generator",
513 "../api:fec_controller_api",
514 "../api:frame_generator_api",
515 "../api:libjingle_peerconnection_api",
516 "../api:rtc_event_log_output_file",
517 "../api:test_dependency_factory",
518 "../api:video_quality_test_fixture_api",
519 "../api/numerics",
520 "../api/rtc_event_log:rtc_event_log_factory",
521 "../api/task_queue",
522 "../api/task_queue:default_task_queue_factory",
523 "../api/video:builtin_video_bitrate_allocator_factory",
524 "../api/video:video_bitrate_allocator_factory",
525 "../api/video:video_frame",
526 "../api/video:video_rtp_headers",
527 "../api/video_codecs:video_codecs_api",
528 "../call:fake_network",
529 "../call:simulated_network",
530 "../common_video",
531 "../media:rtc_audio_video",
532 "../media:rtc_encoder_simulcast_proxy",
533 "../media:rtc_internal_video_codecs",
534 "../media:rtc_media_base",
535 "../modules/audio_device:audio_device_api",
536 "../modules/audio_device:audio_device_module_from_input_and_output",
537 "../modules/audio_device:windows_core_audio_utility",
538 "../modules/audio_mixer:audio_mixer_impl",
539 "../modules/rtp_rtcp",
540 "../modules/rtp_rtcp:rtp_rtcp_format",
541 "../modules/video_coding",
542 "../modules/video_coding:video_coding_utility",
543 "../modules/video_coding:webrtc_h264",
544 "../modules/video_coding:webrtc_multiplex",
545 "../modules/video_coding:webrtc_vp8",
546 "../modules/video_coding:webrtc_vp9",
547 "../rtc_base:rtc_base_approved",
548 "../rtc_base:rtc_base_tests_utils",
549 "../rtc_base:rtc_numerics",
550 "../rtc_base:task_queue_for_test",
551 "../rtc_base/synchronization:mutex",
552 "../rtc_base/task_utils:repeating_task",
553 "../system_wrappers",
554 "../test:fake_video_codecs",
555 "../test:fileutils",
556 "../test:perf_test",
557 "../test:platform_video_capturer",
558 "../test:rtp_test_utils",
559 "../test:test_common",
560 "../test:test_renderer",
561 "../test:test_support",
562 "../test:test_support_test_artifacts",
563 "../test:video_test_common",
564 "../test:video_test_support",
565 ]
566 absl_deps = [
567 "//third_party/abseil-cpp/absl/algorithm:container",
568 "//third_party/abseil-cpp/absl/flags:flag",
569 "//third_party/abseil-cpp/absl/flags:parse",
570 ]
571
572 if (is_mac || is_ios) {
573 deps += [ "../test:video_test_mac" ]
574 }
Kári Tristan Helgasonede7cb22019-03-06 09:34:09575 }
Andrey Logvine7c79fd2021-02-01 09:56:37576
577 rtc_library("video_full_stack_tests") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09578 testonly = true
Andrey Logvine7c79fd2021-02-01 09:56:37579
580 sources = [ "full_stack_tests.cc" ]
581 deps = [
582 ":video_quality_test",
583 "../api:simulated_network_api",
584 "../api:test_dependency_factory",
585 "../api:video_quality_test_fixture_api",
586 "../api/video_codecs:video_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37587 "../modules/pacing",
588 "../modules/video_coding:webrtc_vp9",
589 "../rtc_base/experiments:alr_experiment",
590 "../system_wrappers:field_trial",
591 "../test:field_trial",
592 "../test:fileutils",
593 "../test:test_common",
594 "../test:test_support",
595 "//testing/gtest",
596 ]
597 absl_deps = [
598 "//third_party/abseil-cpp/absl/flags:flag",
599 "//third_party/abseil-cpp/absl/flags:parse",
600 "//third_party/abseil-cpp/absl/types:optional",
601 ]
Kári Tristan Helgasonede7cb22019-03-06 09:34:09602 }
Kári Tristan Helgasonede7cb22019-03-06 09:34:09603
Andrey Logvine7c79fd2021-02-01 09:56:37604 rtc_library("video_pc_full_stack_tests") {
605 testonly = true
kjellandera3cac052016-10-24 08:52:39606
Andrey Logvine7c79fd2021-02-01 09:56:37607 sources = [ "pc_full_stack_tests.cc" ]
608 deps = [
609 "../api:create_network_emulation_manager",
610 "../api:create_peer_connection_quality_test_frame_generator",
611 "../api:create_peerconnection_quality_test_fixture",
612 "../api:frame_generator_api",
613 "../api:media_stream_interface",
614 "../api:network_emulation_manager_api",
615 "../api:peer_connection_quality_test_fixture_api",
616 "../api:simulated_network_api",
617 "../api:time_controller",
Johannes Kronc3fcee72021-04-19 07:09:26618 "../api/video_codecs:video_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37619 "../call:simulated_network",
Andrey Logvine7c79fd2021-02-01 09:56:37620 "../modules/video_coding:webrtc_vp9",
621 "../system_wrappers:field_trial",
622 "../test:field_trial",
623 "../test:fileutils",
624 "../test:test_support",
625 "../test/pc/e2e:network_quality_metrics_reporter",
626 ]
627 }
kjellandera3cac052016-10-24 08:52:39628
Andrey Logvine7c79fd2021-02-01 09:56:37629 rtc_library("video_loopback_lib") {
630 testonly = true
631 sources = [
632 "video_loopback.cc",
633 "video_loopback.h",
634 ]
635 deps = [
636 ":video_quality_test",
637 "../api:libjingle_peerconnection_api",
638 "../api:simulated_network_api",
639 "../api:video_quality_test_fixture_api",
640 "../api/transport:bitrate_settings",
641 "../api/video_codecs:video_codecs_api",
642 "../rtc_base:checks",
643 "../rtc_base:logging",
644 "../system_wrappers:field_trial",
645 "../test:field_trial",
646 "../test:run_test",
647 "../test:run_test_interface",
648 "../test:test_common",
649 "../test:test_renderer",
650 "../test:test_support",
651 "//testing/gtest",
652 ]
653 absl_deps = [
654 "//third_party/abseil-cpp/absl/flags:flag",
655 "//third_party/abseil-cpp/absl/flags:parse",
656 "//third_party/abseil-cpp/absl/types:optional",
657 ]
658 }
659
660 if (is_mac) {
661 mac_app_bundle("video_loopback") {
662 testonly = true
663 sources = [ "video_loopback_main.mm" ]
664 info_plist = "../test/mac/Info.plist"
665 deps = [ ":video_loopback_lib" ]
666 }
667 } else {
668 rtc_executable("video_loopback") {
669 testonly = true
670 sources = [ "video_loopback_main.cc" ]
671 deps = [ ":video_loopback_lib" ]
672 }
673 }
674
675 rtc_executable("screenshare_loopback") {
676 testonly = true
677 sources = [ "screenshare_loopback.cc" ]
678
679 deps = [
680 ":video_quality_test",
681 "../api:libjingle_peerconnection_api",
682 "../api:simulated_network_api",
683 "../api:video_quality_test_fixture_api",
684 "../api/transport:bitrate_settings",
685 "../api/video_codecs:video_codecs_api",
686 "../rtc_base:checks",
687 "../rtc_base:logging",
688 "../rtc_base:stringutils",
689 "../system_wrappers:field_trial",
690 "../test:field_trial",
691 "../test:run_test",
692 "../test:run_test_interface",
693 "../test:test_common",
694 "../test:test_renderer",
695 "../test:test_support",
696 "//third_party/abseil-cpp/absl/flags:flag",
697 "//third_party/abseil-cpp/absl/flags:parse",
698 "//third_party/abseil-cpp/absl/types:optional",
699 ]
700 }
701
702 rtc_executable("sv_loopback") {
703 testonly = true
704 sources = [ "sv_loopback.cc" ]
705 deps = [
706 ":video_quality_test",
707 "../api:libjingle_peerconnection_api",
708 "../api:simulated_network_api",
709 "../api:video_quality_test_fixture_api",
710 "../api/transport:bitrate_settings",
711 "../api/video_codecs:video_codecs_api",
712 "../rtc_base:checks",
713 "../rtc_base:logging",
714 "../rtc_base:stringutils",
715 "../system_wrappers:field_trial",
716 "../test:field_trial",
717 "../test:run_test",
718 "../test:run_test_interface",
719 "../test:test_common",
720 "../test:test_renderer",
721 "../test:test_support",
722 "//testing/gtest",
723 "//third_party/abseil-cpp/absl/flags:flag",
724 "//third_party/abseil-cpp/absl/flags:parse",
725 "//third_party/abseil-cpp/absl/types:optional",
726 ]
727 }
Ilya Nikolaevskiy255d1cd2017-12-21 17:02:59728 }
729
Peter Boström02083222016-06-14 10:52:54730 # TODO(pbos): Rename test suite.
Mirko Bonadei86d053c2019-10-17 19:32:04731 rtc_library("video_tests") {
Peter Boström02083222016-06-14 10:52:54732 testonly = true
kjellandere0629c02017-04-25 11:04:50733
hta9aa96882016-12-06 13:36:03734 defines = []
Peter Boström02083222016-06-14 10:52:54735 sources = [
Åsa Perssonc5a74ff2020-09-20 15:50:00736 "alignment_adjuster_unittest.cc",
Benjamin Wright00765292018-12-01 00:18:26737 "buffered_frame_decryptor_unittest.cc",
Tommi822a8742020-05-10 22:42:30738 "call_stats2_unittest.cc",
Åsa Perssoncb7eddb2018-11-05 13:11:44739 "cpu_scaling_tests.cc",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26740 "decode_synchronizer_unittest.cc",
Erik Språng7ca375c2019-02-06 15:20:17741 "encoder_bitrate_adjuster_unittest.cc",
Erik Språng7ca375c2019-02-06 15:20:17742 "encoder_overshoot_detector_unittest.cc",
Elad Alon14d1c9d2019-04-08 12:16:17743 "encoder_rtcp_feedback_unittest.cc",
Sebastian Janssonc5017132018-02-02 15:24:16744 "end_to_end_tests/bandwidth_tests.cc",
745 "end_to_end_tests/call_operation_tests.cc",
746 "end_to_end_tests/codec_tests.cc",
747 "end_to_end_tests/config_tests.cc",
748 "end_to_end_tests/extended_reports_tests.cc",
749 "end_to_end_tests/fec_tests.cc",
Benjamin Wright150a9072018-10-26 22:43:06750 "end_to_end_tests/frame_encryption_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16751 "end_to_end_tests/histogram_tests.cc",
Åsa Persson96c9fc42018-05-23 10:47:20752 "end_to_end_tests/multi_codec_receive_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16753 "end_to_end_tests/multi_stream_tester.cc",
754 "end_to_end_tests/multi_stream_tester.h",
755 "end_to_end_tests/multi_stream_tests.cc",
756 "end_to_end_tests/network_state_tests.cc",
Åsa Persson4a4273b2021-03-05 15:03:37757 "end_to_end_tests/resolution_bitrate_limits_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16758 "end_to_end_tests/retransmission_tests.cc",
759 "end_to_end_tests/rtp_rtcp_tests.cc",
760 "end_to_end_tests/ssrc_tests.cc",
761 "end_to_end_tests/stats_tests.cc",
762 "end_to_end_tests/transport_feedback_tests.cc",
Evan Shrubsole9d290262021-12-15 13:33:40763 "frame_buffer_proxy_unittest.cc",
Markus Handellb4e96d42021-11-05 11:00:55764 "frame_cadence_adapter_unittest.cc",
Evan Shrubsole9a999052021-12-12 14:27:00765 "frame_decode_timing_unittest.cc",
Ilya Nikolaevskiy2ebf5232019-05-13 14:13:36766 "frame_encode_metadata_writer_unittest.cc",
Sebastian Janssone92f93f2017-06-22 12:44:04767 "picture_id_tests.cc",
Henrik Boströmce33b6a2019-05-28 15:42:38768 "quality_limitation_reason_tracker_unittest.cc",
Åsa Persson2027b662018-05-02 16:08:06769 "quality_scaling_tests.cc",
palmkvist349092b2016-12-13 10:45:57770 "quality_threshold_unittest.cc",
Tommi74fc5742020-04-27 08:43:06771 "receive_statistics_proxy2_unittest.cc",
Peter Boström02083222016-06-14 10:52:54772 "report_block_stats_unittest.cc",
Tommid3807da2020-05-22 15:36:36773 "rtp_video_stream_receiver2_unittest.cc",
Marina Ciocea78964c12020-03-10 20:31:52774 "rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc",
Peter Boström02083222016-06-14 10:52:54775 "send_delay_stats_unittest.cc",
776 "send_statistics_proxy_unittest.cc",
777 "stats_counter_unittest.cc",
778 "stream_synchronization_unittest.cc",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26779 "task_queue_frame_decode_scheduler_unittest.cc",
Tommiae4d0972020-05-18 06:45:38780 "video_receive_stream2_unittest.cc",
Evan Shrubsole9a999052021-12-12 14:27:00781 "video_receive_stream_timeout_tracker_unittest.cc",
Sebastian Jansson652dc912018-04-19 15:09:15782 "video_send_stream_impl_unittest.cc",
Peter Boström02083222016-06-14 10:52:54783 "video_send_stream_tests.cc",
Henrik Boströmce0ea492020-01-13 10:27:18784 "video_source_sink_controller_unittest.cc",
philipel539f9b32020-01-09 15:12:25785 "video_stream_decoder_impl_unittest.cc",
mflodmancc3d4422017-08-03 15:27:51786 "video_stream_encoder_unittest.cc",
Peter Boström02083222016-06-14 10:52:54787 ]
788 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26789 ":decode_synchronizer",
Evan Shrubsole9d290262021-12-15 13:33:40790 ":frame_buffer_proxy",
Markus Handellb4e96d42021-11-05 11:00:55791 ":frame_cadence_adapter",
Evan Shrubsole9a999052021-12-12 14:27:00792 ":frame_decode_scheduler",
793 ":frame_decode_timing",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26794 ":task_queue_frame_decode_scheduler",
Peter Boström02083222016-06-14 10:52:54795 ":video",
Sebastian Jansson652dc912018-04-19 15:09:15796 ":video_mocks",
Evan Shrubsole9a999052021-12-12 14:27:00797 ":video_receive_stream_timeout_tracker",
philipel539f9b32020-01-09 15:12:25798 ":video_stream_decoder_impl",
Niels Möller213618e2018-07-24 07:29:58799 ":video_stream_encoder_impl",
Artem Titov33f9d2b2019-12-05 14:59:00800 "../api:create_frame_generator",
Benjamin Wright150a9072018-10-26 22:43:06801 "../api:fake_frame_decryptor",
802 "../api:fake_frame_encryptor",
Artem Titov33f9d2b2019-12-05 14:59:00803 "../api:frame_generator_api",
Yves Gerey3e707812018-11-28 15:47:49804 "../api:libjingle_peerconnection_api",
Elad Alon45befc52019-07-02 09:20:09805 "../api:mock_fec_controller_override",
Benjamin Wright00765292018-12-01 00:18:26806 "../api:mock_frame_decryptor",
Henrik Boström56db9ff2021-03-24 08:06:45807 "../api:mock_video_codec_factory",
Danil Chapovalov9cd4d492021-08-03 12:59:00808 "../api:mock_video_decoder",
philipel9b058032020-02-10 10:30:00809 "../api:mock_video_encoder",
Niels Mölleref1052a2019-03-20 07:40:23810 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:28811 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:48812 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24813 "../api:sequence_checker",
Artem Titov46c4e602018-08-17 12:26:54814 "../api:simulated_network_api",
Marina Ciocea78964c12020-03-10 20:31:52815 "../api:transport_api",
Henrik Boströme2e8c172020-06-03 07:24:06816 "../api/adaptation:resource_adaptation_api",
Mirko Bonadeieaaaf412019-09-13 12:42:15817 "../api/crypto:options",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26818 "../api/metronome/test:fake_metronome",
Danil Chapovalov83bbe912019-08-07 10:24:53819 "../api/rtc_event_log",
Danil Chapovalov44db4362019-09-30 02:16:28820 "../api/task_queue",
Danil Chapovalov22ed3662019-03-19 18:39:49821 "../api/task_queue:default_task_queue_factory",
Danil Chapovalov99b71df2018-10-26 13:57:48822 "../api/test/video:function_video_factory",
Erik Språng7ca375c2019-02-06 15:20:17823 "../api/units:data_rate",
Evan Shrubsole9a999052021-12-12 14:27:00824 "../api/units:frequency",
Evan Shrubsole9d290262021-12-15 13:33:40825 "../api/units:time_delta",
Henrik Boström23aff9b2019-05-20 13:15:38826 "../api/units:timestamp",
Jiawei Ouc2ebe212018-11-08 18:02:56827 "../api/video:builtin_video_bitrate_allocator_factory",
Niels Möller4dc66c52018-10-05 12:17:58828 "../api/video:encoded_image",
Evan Shrubsolece0a11d2020-04-16 09:36:55829 "../api/video:video_adaptation",
Erik Språngf93eda12019-01-16 16:10:57830 "../api/video:video_bitrate_allocation",
Niels Möllerc6ce9c52018-05-11 09:15:30831 "../api/video:video_frame",
Johannes Krond51ec582019-04-15 11:32:41832 "../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 10:59:38833 "../api/video:video_rtp_headers",
mbonadei9087d492017-04-25 07:35:35834 "../api/video_codecs:video_codecs_api",
Elad Aloncde8ab22019-03-20 10:56:20835 "../api/video_codecs:vp8_temporal_layers_factory",
mbonadei9087d492017-04-25 07:35:35836 "../call:call_interfaces",
Artem Titovdd2eebe2018-08-20 11:27:45837 "../call:fake_network",
Sebastian Jansson652dc912018-04-19 15:09:15838 "../call:mock_bitrate_allocator",
eladalone2173d92017-07-28 17:05:45839 "../call:mock_rtp_interfaces",
Yves Gerey3e707812018-11-28 15:47:49840 "../call:rtp_interfaces",
nisse0f15f922017-06-21 08:05:22841 "../call:rtp_receiver",
sprangdb2a9fc2017-08-09 13:42:32842 "../call:rtp_sender",
Artem Titovdd2eebe2018-08-20 11:27:45843 "../call:simulated_network",
Yves Gerey3e707812018-11-28 15:47:49844 "../call:simulated_packet_receiver",
aleloi440b6d92017-08-22 12:43:23845 "../call:video_stream_api",
Henrik Boströmce0ea492020-01-13 10:27:18846 "../call/adaptation:resource_adaptation",
Evan Shrubsoleaa6fbc12020-02-25 15:26:01847 "../call/adaptation:resource_adaptation_test_utilities",
mbonadei9087d492017-04-25 07:35:35848 "../common_video",
Johannes Kronf1ab9b92018-12-14 09:14:07849 "../common_video/test:utilities",
Mirko Bonadei75baa492018-01-11 16:07:30850 "../media:rtc_audio_video",
Anders Carlssona114c882018-01-04 14:10:22851 "../media:rtc_internal_video_codecs",
brandtr5e171752017-05-23 10:32:16852 "../media:rtc_media",
magjedceecea42016-11-28 15:20:21853 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:35854 "../media:rtc_media_tests_utils",
Jonathan Yu9a5da492018-10-19 07:51:18855 "../media:rtc_simulcast_encoder_adapter",
Danil Chapovalov7c067772019-10-07 10:56:24856 "../modules:module_api_public",
mbonadei9087d492017-04-25 07:35:35857 "../modules/pacing",
858 "../modules/rtp_rtcp",
kjellandere0629c02017-04-25 11:04:50859 "../modules/rtp_rtcp:mock_rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:33860 "../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei9087d492017-04-25 07:35:35861 "../modules/video_coding",
Sergey Silkin86684962018-03-28 17:32:37862 "../modules/video_coding:codec_globals_headers",
Markus Handell269ac812019-12-03 13:31:45863 "../modules/video_coding:encoded_frame",
philipel10dc1a62021-09-15 08:45:43864 "../modules/video_coding:packet_buffer",
Evan Shrubsole9a999052021-12-12 14:27:00865 "../modules/video_coding:timing",
Patrik Höglund99175c62018-01-08 10:05:10866 "../modules/video_coding:video_codec_interface",
mbonadei9087d492017-04-25 07:35:35867 "../modules/video_coding:video_coding_utility",
868 "../modules/video_coding:webrtc_h264",
Emircan Uysaleref76e5a2018-02-12 21:36:41869 "../modules/video_coding:webrtc_multiplex",
Sergio Garcia Murillo43800f92018-06-21 14:16:38870 "../modules/video_coding:webrtc_vp8",
mbonadei9087d492017-04-25 07:35:35871 "../modules/video_coding:webrtc_vp9",
Erik Språng7444b192021-06-02 12:02:13872 "../modules/video_coding:webrtc_vp9_helpers",
philipel95701502022-01-18 17:47:52873 "../modules/video_coding/codecs/av1:libaom_av1_encoder_if_supported",
Elad Alon157540a2019-02-08 22:37:52874 "../rtc_base",
Patrik Höglunda8005cf2017-12-13 15:05:42875 "../rtc_base:checks",
Henrik Boström2671dac2020-05-19 14:29:09876 "../rtc_base:gunit_helpers",
Patrik Höglunda8005cf2017-12-13 15:05:42877 "../rtc_base:rate_limiter",
ehmaldonadof6a861a2017-07-19 17:40:47878 "../rtc_base:rtc_base_approved",
879 "../rtc_base:rtc_base_tests_utils",
Bjorn Tereliusa194e582017-10-25 11:07:09880 "../rtc_base:rtc_numerics",
Tommi38c5d932018-03-27 21:11:09881 "../rtc_base:rtc_task_queue",
Danil Chapovalovd26a9162019-03-19 17:08:37882 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01883 "../rtc_base:threading",
Evan Shrubsole9a999052021-12-12 14:27:00884 "../rtc_base/containers:flat_map",
Sebastian Janssoncabe3832018-01-12 09:54:18885 "../rtc_base/experiments:alr_experiment",
Åsa Persson258e9892021-02-25 09:39:51886 "../rtc_base/experiments:encoder_info_settings",
Markus Handell9bbff072020-07-07 12:23:18887 "../rtc_base/synchronization:mutex",
Danil Chapovalov1aa75812019-03-05 10:11:35888 "../rtc_base/task_utils:to_queued_task",
mbonadei9087d492017-04-25 07:35:35889 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10890 "../system_wrappers:field_trial",
891 "../system_wrappers:metrics",
mbonadei9087d492017-04-25 07:35:35892 "../test:direct_transport",
Danil Chapovalovce928172019-04-24 16:17:42893 "../test:encoder_settings",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27894 "../test:fake_video_codecs",
mbonadei9087d492017-04-25 07:35:35895 "../test:field_trial",
Patrik Höglund7696bef2018-03-15 14:05:39896 "../test:fileutils",
Artem Titov33f9d2b2019-12-05 14:59:00897 "../test:frame_utils",
Marina Ciocea1148fd52020-04-29 20:39:13898 "../test:mock_frame_transformer",
Tim Na9526c552020-02-20 19:53:13899 "../test:mock_transport",
Danil Chapovalovce928172019-04-24 16:17:42900 "../test:null_transport",
Edward Lemure66572b2018-01-05 14:34:09901 "../test:perf_test",
mbonadei9087d492017-04-25 07:35:35902 "../test:rtp_test_utils",
903 "../test:test_common",
904 "../test:test_support",
905 "../test:video_test_common",
Markus Handell486cc552019-12-03 13:37:28906 "../test/time_controller",
Henrik Boströmefbec9a2020-03-06 09:41:25907 "adaptation:video_adaptation",
Peter Boström02083222016-06-14 10:52:54908 "//testing/gtest",
Mirko Bonadei2dcf3482020-06-05 12:30:41909 ]
910 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27911 "//third_party/abseil-cpp/absl/algorithm:container",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26912 "//third_party/abseil-cpp/absl/functional:bind_front",
Karl Wiberg918f50c2018-07-05 09:40:33913 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalovb9b146c2018-06-15 10:28:07914 "//third_party/abseil-cpp/absl/types:optional",
Evan Shrubsole9a999052021-12-12 14:27:00915 "//third_party/abseil-cpp/absl/types:variant",
Peter Boström02083222016-06-14 10:52:54916 ]
Dan Minor9c686132018-01-15 15:20:00917 if (!build_with_mozilla) {
918 deps += [ "../media:rtc_media_base" ]
919 }
Peter Boström02083222016-06-14 10:52:54920 }
Niels Möller679f1cb2021-12-21 14:45:30921 rtc_library("video_legacy_tests") {
922 testonly = true
923 sources = [
924 "call_stats_unittest.cc",
925 "receive_statistics_proxy_unittest.cc",
926 "rtp_video_stream_receiver_unittest.cc",
927 ]
928 deps = [
929 ":video_legacy",
930 "../api:scoped_refptr",
931 "../api/video:video_frame",
932 "../api/video:video_frame_type",
933 "../api/video:video_rtp_headers",
934 "../call:mock_rtp_interfaces",
935 "../common_video",
936 "../media:rtc_media_base",
937 "../modules/rtp_rtcp",
938 "../modules/rtp_rtcp:rtp_rtcp_format",
939 "../modules/utility",
940 "../modules/video_coding",
941 "../modules/video_coding:video_codec_interface",
942 "../rtc_base:rtc_base_approved",
943 "../rtc_base/task_utils:to_queued_task",
944 "../system_wrappers",
945 "../system_wrappers:field_trial",
946 "../system_wrappers:metrics",
947 "../test:field_trial",
948 "../test:mock_frame_transformer",
949 "../test:mock_transport",
950 "../test:test_support",
951 ]
952 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
953 }
Peter Boström02083222016-06-14 10:52:54954}