blob: 58c9f9ac9808ed28bbf55c25bc9e0afadd2b4a1c [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",
Jonas Orelande62c2f22022-03-29 09:04:4864 "../api:field_trials_view",
Marina Ciocea412a31b2020-02-28 15:02:0665 "../api:frame_transformer_interface",
Patrik Höglundbe214a22018-01-04 11:14:3566 "../api:libjingle_peerconnection_api",
Niels Möller6dcd4dc2019-08-26 08:45:2867 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:4868 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:2469 "../api:sequence_checker",
aleloia8eb7562016-11-28 15:02:1370 "../api:transport_api",
Mirko Bonadeieaaaf412019-09-13 12:42:1571 "../api/crypto:frame_decryptor_interface",
72 "../api/crypto:options",
Danil Chapovalov83bbe912019-08-07 10:24:5373 "../api/rtc_event_log",
Sebastian Jansson74682c12019-03-01 10:50:2074 "../api/task_queue",
Evan Shrubsoled425f502022-04-28 08:18:1275 "../api/units:frequency",
Tommi28e96532021-06-03 09:52:1576 "../api/units:time_delta",
Tommid7e08c82020-05-10 09:24:4377 "../api/units:timestamp",
Yves Gerey3e707812018-11-28 15:47:4978 "../api/video:encoded_image",
Markus Handell269ac812019-12-03 13:31:4579 "../api/video:recordable_encoded_frame",
Yves Gerey3e707812018-11-28 15:47:4980 "../api/video:video_bitrate_allocation",
Jiawei Ou4206a0a2018-07-20 22:49:4381 "../api/video:video_bitrate_allocator",
Evan Shrubsolecc62b162019-09-09 09:26:4582 "../api/video:video_codec_constants",
Niels Möllerc6ce9c52018-05-11 09:15:3083 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:3884 "../api/video:video_rtp_headers",
Niels Möller0327c2d2018-05-21 12:09:3185 "../api/video:video_stream_encoder",
ilnikd60d06a2017-04-05 10:02:2086 "../api/video_codecs:video_codecs_api",
Mirko Bonadei245660a2017-10-10 12:38:1187 "../call:bitrate_allocator",
mbonadei9087d492017-04-25 07:35:3588 "../call:call_interfaces",
nissed76b7b22017-06-01 11:02:3589 "../call:rtp_interfaces",
Danil Chapovalov1aa75812019-03-05 10:11:3590 "../call:rtp_receiver", # For RtxReceiveStream.
Stefan Holmera2f15332018-07-11 15:11:3191 "../call:rtp_sender",
aleloi440b6d92017-08-22 12:43:2392 "../call:video_stream_api",
Danil Chapovalov1aa75812019-03-05 10:11:3593 "../common_video",
Danil Chapovalov1aa75812019-03-05 10:11:3594 "../modules:module_api",
Yves Gerey3e707812018-11-28 15:47:4995 "../modules:module_api_public",
Danil Chapovalov1aa75812019-03-05 10:11:3596 "../modules/pacing",
97 "../modules/remote_bitrate_estimator",
98 "../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:3399 "../modules/rtp_rtcp:rtp_rtcp_format",
philipel1a4746a2018-07-09 13:52:29100 "../modules/rtp_rtcp:rtp_video_header",
Danil Chapovalov1aa75812019-03-05 10:11:35101 "../modules/video_coding",
Sergey Silkin86684962018-03-28 17:32:37102 "../modules/video_coding:codec_globals_headers",
Evan Shrubsole9a999052021-12-12 14:27:00103 "../modules/video_coding:frame_buffer",
104 "../modules/video_coding:frame_helpers",
Evan Shrubsolee9126c12022-03-07 13:50:51105 "../modules/video_coding:inter_frame_delay",
Evan Shrubsole13e42a82022-03-07 12:21:51106 "../modules/video_coding:jitter_estimator",
Markus Handell06a2bf02021-07-22 13:09:39107 "../modules/video_coding:nack_requester",
philipel10dc1a62021-09-15 08:45:43108 "../modules/video_coding:packet_buffer",
Evan Shrubsole9a999052021-12-12 14:27:00109 "../modules/video_coding:timing",
Patrik Höglund99175c62018-01-08 10:05:10110 "../modules/video_coding:video_codec_interface",
Danil Chapovalov1aa75812019-03-05 10:11:35111 "../modules/video_coding:video_coding_utility",
112 "../modules/video_processing",
Florent Castellibddfe022022-04-04 13:03:10113 "../rtc_base:atomicops",
Patrik Höglunda8005cf2017-12-13 15:05:42114 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:13115 "../rtc_base:event_tracer",
Florent Castelli3629a5f2022-04-14 11:50:13116 "../rtc_base:histogram_percentile_counter",
Florent Castelliaa6d05d2022-04-14 11:13:56117 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:30118 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46119 "../rtc_base:macromagic",
Florent Castelli31764092022-04-14 11:41:58120 "../rtc_base:mod_ops",
Florent Castelli83a36d42022-04-14 11:44:39121 "../rtc_base:moving_max_counter",
Florent Castelli45a05992022-04-14 10:18:28122 "../rtc_base:platform_thread",
Stefan Holmerdbdb3a02018-07-17 14:03:46123 "../rtc_base:rate_limiter",
Florent Castelli6bb1fd32022-04-19 13:58:39124 "../rtc_base:rate_statistics",
Florent Castelli58cc4682022-04-19 13:50:28125 "../rtc_base:rate_tracker",
Marina Ciocea78964c12020-03-10 20:31:52126 "../rtc_base:rtc_base",
Florent Castelli33d31fb2022-04-04 14:57:52127 "../rtc_base:rtc_event",
Danil Chapovalov1aa75812019-03-05 10:11:35128 "../rtc_base:rtc_numerics",
129 "../rtc_base:rtc_task_queue",
Florent Castellie10a9f62022-04-04 15:04:37130 "../rtc_base:safe_conversions",
Florent Castelli17296422022-04-14 11:48:10131 "../rtc_base:sample_counter",
Tommifef05002018-02-27 12:51:08132 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01133 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15134 "../rtc_base:timeutils",
Danil Chapovalov1aa75812019-03-05 10:11:35135 "../rtc_base:weak_ptr",
Sebastian Janssoncabe3832018-01-12 09:54:18136 "../rtc_base/experiments:alr_experiment",
Jonas Olsson0182a032019-07-09 10:31:20137 "../rtc_base/experiments:field_trial_parser",
Rasmus Brandt3dde4502019-03-21 10:46:17138 "../rtc_base/experiments:keyframe_interval_settings_experiment",
Elad Alon80f53b72019-10-11 14:19:43139 "../rtc_base/experiments:min_video_bitrate_experiment",
Åsa Perssona945aee2018-04-24 14:53:25140 "../rtc_base/experiments:quality_scaling_experiment",
Erik Språngcd76eab2019-01-21 17:06:46141 "../rtc_base/experiments:rate_control_settings",
Evan Shrubsole9a999052021-12-12 14:27:00142 "../rtc_base/experiments:rtt_mult_experiment",
Markus Handella3765182020-07-08 11:13:32143 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:42144 "../rtc_base/system:no_unique_address",
Tommi3c9bcc12020-04-15 14:45:47145 "../rtc_base/task_utils:pending_task_safety_flag",
Sebastian Janssonecb68972019-01-18 09:30:54146 "../rtc_base/task_utils:repeating_task",
Danil Chapovalov1aa75812019-03-05 10:11:35147 "../rtc_base/task_utils:to_queued_task",
148 "../rtc_base/time:timestamp_extrapolator",
149 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10150 "../system_wrappers:field_trial",
151 "../system_wrappers:metrics",
Per Kjellanderb03b6c82021-01-03 09:26:03152 "./adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41153 ]
154 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27155 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov64f1f3f2020-01-16 13:41:10156 "//third_party/abseil-cpp/absl/base:core_headers",
Evan Shrubsole9a999052021-12-12 14:27:00157 "//third_party/abseil-cpp/absl/container:inlined_vector",
158 "//third_party/abseil-cpp/absl/functional:bind_front",
Karl Wiberg918f50c2018-07-05 09:40:33159 "//third_party/abseil-cpp/absl/memory",
Mirko Bonadei06d35592020-04-01 11:43:08160 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovb9b146c2018-06-15 10:28:07161 "//third_party/abseil-cpp/absl/types:optional",
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22162 ]
Dan Minor9c686132018-01-15 15:20:00163
164 if (!build_with_mozilla) {
165 deps += [ "../media:rtc_media_base" ]
166 }
kjellander@webrtc.org1227ab82014-06-23 19:21:07167}
Peter Boström02083222016-06-14 10:52:54168
Niels Möllerd73426d62020-12-16 14:57:49169rtc_source_set("video_legacy") {
Niels Möller3e9cb2c2021-01-14 11:00:57170 sources = [
171 "call_stats.cc",
172 "call_stats.h",
173 "receive_statistics_proxy.cc",
174 "receive_statistics_proxy.h",
Niels Möller3e9cb2c2021-01-14 11:00:57175 "rtp_video_stream_receiver.cc",
176 "rtp_video_stream_receiver.h",
177 "video_quality_observer.cc",
178 "video_quality_observer.h",
Niels Möller3e9cb2c2021-01-14 11:00:57179 ]
180 deps = [
181 ":frame_dumping_decoder",
182 ":video",
183 "../api:array_view",
Jonas Orelande62c2f22022-03-29 09:04:48184 "../api:field_trials_view",
Niels Möller3e9cb2c2021-01-14 11:00:57185 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24186 "../api:sequence_checker",
Niels Möller3e9cb2c2021-01-14 11:00:57187 "../api/crypto:frame_decryptor_interface",
188 "../api/task_queue",
Jonas Oreland8ca06132022-03-14 11:52:48189 "../api/transport:field_trial_based_config",
philipelce423ce2021-04-12 11:42:03190 "../api/units:timestamp",
Niels Möller3e9cb2c2021-01-14 11:00:57191 "../api/video:encoded_image",
192 "../api/video:recordable_encoded_frame",
193 "../api/video:video_frame",
194 "../api/video:video_rtp_headers",
Niels Möller3e9cb2c2021-01-14 11:00:57195 "../call:call_interfaces",
196 "../call:rtp_interfaces",
197 "../call:rtp_receiver", # For RtxReceiveStream.
198 "../call:video_stream_api",
199 "../common_video",
Niels Möller3e9cb2c2021-01-14 11:00:57200 "../modules:module_api",
201 "../modules/pacing",
202 "../modules/remote_bitrate_estimator",
203 "../modules/rtp_rtcp",
204 "../modules/rtp_rtcp:rtp_rtcp_format",
205 "../modules/rtp_rtcp:rtp_rtcp_legacy",
206 "../modules/rtp_rtcp:rtp_video_header",
207 "../modules/utility",
208 "../modules/video_coding",
philipel10dc1a62021-09-15 08:45:43209 "../modules/video_coding:packet_buffer",
Niels Möller3e9cb2c2021-01-14 11:00:57210 "../modules/video_coding:video_codec_interface",
211 "../modules/video_coding:video_coding_utility",
212 "../modules/video_coding/deprecated:nack_module",
213 "../rtc_base:checks",
Florent Castelli3629a5f2022-04-14 11:50:13214 "../rtc_base:histogram_percentile_counter",
Florent Castelliaa6d05d2022-04-14 11:13:56215 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:30216 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46217 "../rtc_base:macromagic",
Florent Castelli83a36d42022-04-14 11:44:39218 "../rtc_base:moving_max_counter",
Florent Castelli45a05992022-04-14 10:18:28219 "../rtc_base:platform_thread",
Florent Castelli6bb1fd32022-04-19 13:58:39220 "../rtc_base:rate_statistics",
Florent Castelli58cc4682022-04-19 13:50:28221 "../rtc_base:rate_tracker",
Niels Möller3e9cb2c2021-01-14 11:00:57222 "../rtc_base:rtc_numerics",
223 "../rtc_base:rtc_task_queue",
Florent Castelli17296422022-04-14 11:48:10224 "../rtc_base:sample_counter",
Florent Castelli57aa81b2022-04-04 15:14:02225 "../rtc_base:stringutils",
Florent Castellidd837e22022-04-04 15:16:15226 "../rtc_base:timeutils",
Niels Möller3e9cb2c2021-01-14 11:00:57227 "../rtc_base/experiments:field_trial_parser",
228 "../rtc_base/experiments:keyframe_interval_settings_experiment",
229 "../rtc_base/synchronization:mutex",
230 "../rtc_base/system:no_unique_address",
Niels Möller3e9cb2c2021-01-14 11:00:57231 "../rtc_base/task_utils:to_queued_task",
232 "../system_wrappers",
233 "../system_wrappers:field_trial",
234 "../system_wrappers:metrics",
235 ]
236 if (!build_with_mozilla) {
237 deps += [ "../media:rtc_media_base" ]
238 }
239 absl_deps = [
240 "//third_party/abseil-cpp/absl/algorithm:container",
241 "//third_party/abseil-cpp/absl/types:optional",
242 ]
Niels Möllerd73426d62020-12-16 14:57:49243}
244
Mirko Bonadei86d053c2019-10-17 19:32:04245rtc_library("video_stream_decoder_impl") {
philipel2fee4d62018-03-21 15:52:13246 visibility = [ "*" ]
Anders Carlsson51e23ae2018-05-24 11:31:30247
philipel2fee4d62018-03-21 15:52:13248 sources = [
249 "video_stream_decoder_impl.cc",
250 "video_stream_decoder_impl.h",
251 ]
252
253 deps = [
Jonas Orelande62c2f22022-03-29 09:04:48254 "../api:field_trials_view",
Artem Titovd15a5752021-02-10 13:31:24255 "../api:sequence_checker",
Danil Chapovalov471783f2019-03-11 13:26:02256 "../api/task_queue",
Jonas Orelande02f9ee2022-03-25 11:43:14257 "../api/transport:field_trial_based_config",
Niels Möllerc6ce9c52018-05-11 09:15:30258 "../api/video:encoded_frame",
259 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38260 "../api/video:video_rtp_headers",
Niels Möllerc6ce9c52018-05-11 09:15:30261 "../api/video:video_stream_decoder",
philipel2fee4d62018-03-21 15:52:13262 "../api/video_codecs:video_codecs_api",
Artem Titov94b57c02019-03-21 12:35:10263 "../modules/video_coding",
Evan Shrubsole9a999052021-12-12 14:27:00264 "../modules/video_coding:timing",
Florent Castelli0af55ba2022-04-04 13:06:30265 "../rtc_base:logging",
Florent Castelli31764092022-04-14 11:41:58266 "../rtc_base:mod_ops",
Florent Castelli45a05992022-04-14 10:18:28267 "../rtc_base:platform_thread",
Danil Chapovalov07a4f2b2019-03-05 18:58:28268 "../rtc_base:rtc_task_queue",
Florent Castellidd837e22022-04-04 15:16:15269 "../rtc_base:timeutils",
Jonas Orelande02f9ee2022-03-25 11:43:14270 "../rtc_base/memory:always_valid_pointer",
Markus Handell265931e2020-07-10 10:23:48271 "../rtc_base/synchronization:mutex",
Artem Titov94b57c02019-03-21 12:35:10272 "../system_wrappers",
philipel2fee4d62018-03-21 15:52:13273 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41274 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
philipel2fee4d62018-03-21 15:52:13275}
276
Mirko Bonadei86d053c2019-10-17 19:32:04277rtc_library("frame_dumping_decoder") {
Erik Språng96965ae2018-10-23 13:42:37278 visibility = [ "*" ]
279
280 sources = [
281 "frame_dumping_decoder.cc",
282 "frame_dumping_decoder.h",
283 ]
284
285 deps = [
286 "../api/video:encoded_frame",
Yves Gerey3e707812018-11-28 15:47:49287 "../api/video:encoded_image",
Erik Språng96965ae2018-10-23 13:42:37288 "../api/video_codecs:video_codecs_api",
Artem Titov94b57c02019-03-21 12:35:10289 "../modules/video_coding",
Erik Språng96965ae2018-10-23 13:42:37290 "../modules/video_coding:video_codec_interface",
Erik Språng96965ae2018-10-23 13:42:37291 "../modules/video_coding:video_coding_utility",
Markus Handell1c2f6372019-08-20 18:21:37292 "../rtc_base/system:file_wrapper",
Erik Språng96965ae2018-10-23 13:42:37293 ]
294}
295
Markus Handellb4e96d42021-11-05 11:00:55296rtc_library("frame_cadence_adapter") {
297 visibility = [ "*" ]
298 sources = [
299 "frame_cadence_adapter.cc",
300 "frame_cadence_adapter.h",
301 ]
302
303 deps = [
Jonas Orelande62c2f22022-03-29 09:04:48304 "../api:field_trials_view",
Markus Handellb4e96d42021-11-05 11:00:55305 "../api:sequence_checker",
Markus Handell28c71802021-11-08 09:11:55306 "../api/task_queue",
Markus Handell29dd8d82021-12-15 11:19:15307 "../api/units:time_delta",
Markus Handellb4e96d42021-11-05 11:00:55308 "../api/video:video_frame",
Markus Handell8d87c462021-12-16 10:37:16309 "../rtc_base:checks",
Markus Handellb4e96d42021-11-05 11:00:55310 "../rtc_base:logging",
311 "../rtc_base:macromagic",
Florent Castellif4db3512022-04-14 11:38:05312 "../rtc_base:race_checker",
Florent Castelli6bb1fd32022-04-19 13:58:39313 "../rtc_base:rate_statistics",
Florent Castellidd837e22022-04-04 15:16:15314 "../rtc_base:timeutils",
Markus Handellb4e96d42021-11-05 11:00:55315 "../rtc_base/synchronization:mutex",
Markus Handellee225432021-11-29 11:35:12316 "../rtc_base/system:no_unique_address",
Markus Handell28c71802021-11-08 09:11:55317 "../rtc_base/task_utils:pending_task_safety_flag",
318 "../rtc_base/task_utils:to_queued_task",
Markus Handell9a478b52021-11-18 15:07:01319 "../system_wrappers",
Markus Handellb4e96d42021-11-05 11:00:55320 "../system_wrappers:field_trial",
321 "../system_wrappers:metrics",
322 ]
Markus Handell2e0f4f02021-12-21 18:14:58323 absl_deps = [
324 "//third_party/abseil-cpp/absl/algorithm:container",
325 "//third_party/abseil-cpp/absl/base:core_headers",
326 ]
Markus Handellb4e96d42021-11-05 11:00:55327}
328
Evan Shrubsole9d290262021-12-15 13:33:40329rtc_library("frame_buffer_proxy") {
330 sources = [
331 "frame_buffer_proxy.cc",
332 "frame_buffer_proxy.h",
333 ]
334 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26335 ":decode_synchronizer",
Evan Shrubsole9a999052021-12-12 14:27:00336 ":frame_decode_timing",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26337 ":task_queue_frame_decode_scheduler",
Evan Shrubsole9a999052021-12-12 14:27:00338 ":video_receive_stream_timeout_tracker",
Jonas Orelande62c2f22022-03-29 09:04:48339 "../api:field_trials_view",
Evan Shrubsole9a999052021-12-12 14:27:00340 "../api:sequence_checker",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26341 "../api/metronome",
Evan Shrubsole9d290262021-12-15 13:33:40342 "../api/task_queue",
Evan Shrubsole13e42a82022-03-07 12:21:51343 "../api/units:data_size",
Evan Shrubsole9d290262021-12-15 13:33:40344 "../api/video:encoded_frame",
Evan Shrubsoled4ff12f2022-03-01 09:16:11345 "../api/video:video_rtp_headers",
Evan Shrubsole9d290262021-12-15 13:33:40346 "../modules/video_coding",
Evan Shrubsole9a999052021-12-12 14:27:00347 "../modules/video_coding:frame_buffer",
348 "../modules/video_coding:frame_helpers",
349 "../modules/video_coding:timing",
Evan Shrubsole9d290262021-12-15 13:33:40350 "../modules/video_coding:video_codec_interface",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26351 "../rtc_base:checks",
Evan Shrubsole9a999052021-12-12 14:27:00352 "../rtc_base:logging",
353 "../rtc_base:macromagic",
Evan Shrubsole9d290262021-12-15 13:33:40354 "../rtc_base:rtc_task_queue",
355 "../system_wrappers",
Evan Shrubsole9a999052021-12-12 14:27:00356 "../system_wrappers:field_trial",
357 ]
358 absl_deps = [
359 "//third_party/abseil-cpp/absl/functional:bind_front",
360 "//third_party/abseil-cpp/absl/types:optional",
361 ]
362}
363
Evan Shrubsole6cd6d8e2022-02-11 14:30:26364rtc_source_set("frame_decode_scheduler") {
365 sources = [ "frame_decode_scheduler.h" ]
366 deps = [
367 ":frame_decode_timing",
368 "../api/units:timestamp",
369 ]
370 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
371}
372
373rtc_library("task_queue_frame_decode_scheduler") {
Evan Shrubsole9a999052021-12-12 14:27:00374 sources = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26375 "task_queue_frame_decode_scheduler.cc",
376 "task_queue_frame_decode_scheduler.h",
Evan Shrubsole9a999052021-12-12 14:27:00377 ]
378 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26379 ":frame_decode_scheduler",
Evan Shrubsole9a999052021-12-12 14:27:00380 ":frame_decode_timing",
381 "../api:sequence_checker",
382 "../api/task_queue",
383 "../api/units:timestamp",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26384 "../rtc_base:checks",
Evan Shrubsole9a999052021-12-12 14:27:00385 "../rtc_base/task_utils:pending_task_safety_flag",
386 "../rtc_base/task_utils:to_queued_task",
387 "../system_wrappers",
Evan Shrubsole9d290262021-12-15 13:33:40388 ]
389 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
390}
391
Evan Shrubsole9a999052021-12-12 14:27:00392rtc_library("frame_decode_timing") {
393 sources = [
394 "frame_decode_timing.cc",
395 "frame_decode_timing.h",
396 ]
397 deps = [
398 "../api/task_queue",
Evan Shrubsolef7a19372022-02-14 13:05:10399 "../api/units:time_delta",
Evan Shrubsole9a999052021-12-12 14:27:00400 "../modules/video_coding:timing",
401 "../rtc_base:logging",
402 "../rtc_base/task_utils:pending_task_safety_flag",
403 "../system_wrappers",
404 ]
405 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
406}
407
408rtc_library("video_receive_stream_timeout_tracker") {
409 sources = [
410 "video_receive_stream_timeout_tracker.cc",
411 "video_receive_stream_timeout_tracker.h",
412 ]
413 deps = [
414 "../api/task_queue",
415 "../api/units:time_delta",
416 "../rtc_base/task_utils:repeating_task",
417 "../system_wrappers",
418 ]
419}
420
Evan Shrubsole6cd6d8e2022-02-11 14:30:26421rtc_library("decode_synchronizer") {
422 sources = [
423 "decode_synchronizer.cc",
424 "decode_synchronizer.h",
425 ]
426 deps = [
427 ":frame_decode_scheduler",
428 ":frame_decode_timing",
429 "../api:sequence_checker",
430 "../api/metronome",
431 "../api/task_queue",
432 "../api/units:time_delta",
433 "../api/units:timestamp",
434 "../rtc_base:checks",
435 "../rtc_base:logging",
436 "../rtc_base:macromagic",
437 ]
438 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
439}
440
Mirko Bonadei86d053c2019-10-17 19:32:04441rtc_library("video_stream_encoder_impl") {
Niels Möller213618e2018-07-24 07:29:58442 visibility = [ "*" ]
443
444 # visibility = [ "../api/video:video_stream_encoder_create" ]
Niels Möller213618e2018-07-24 07:29:58445 sources = [
Åsa Perssonc5a74ff2020-09-20 15:50:00446 "alignment_adjuster.cc",
447 "alignment_adjuster.h",
Erik Språng7ca375c2019-02-06 15:20:17448 "encoder_bitrate_adjuster.cc",
449 "encoder_bitrate_adjuster.h",
450 "encoder_overshoot_detector.cc",
451 "encoder_overshoot_detector.h",
Ilya Nikolaevskiy2ebf5232019-05-13 14:13:36452 "frame_encode_metadata_writer.cc",
453 "frame_encode_metadata_writer.h",
Henrik Boströmce0ea492020-01-13 10:27:18454 "video_source_sink_controller.cc",
455 "video_source_sink_controller.h",
Niels Möller213618e2018-07-24 07:29:58456 "video_stream_encoder.cc",
457 "video_stream_encoder.h",
458 ]
459
Niels Möller213618e2018-07-24 07:29:58460 deps = [
Markus Handellb4e96d42021-11-05 11:00:55461 ":frame_cadence_adapter",
Jonas Orelande62c2f22022-03-29 09:04:48462 "../api:field_trials_view",
Henrik Boströmb08882b2020-01-07 09:11:17463 "../api:rtp_parameters",
Artem Titovd15a5752021-02-10 13:31:24464 "../api:sequence_checker",
Henrik Boströme2e8c172020-06-03 07:24:06465 "../api/adaptation:resource_adaptation_api",
Henrik Boström07b17df2020-01-15 10:42:12466 "../api/task_queue:task_queue",
Erik Språng7ca375c2019-02-06 15:20:17467 "../api/units:data_rate",
Niels Möller4dc66c52018-10-05 12:17:58468 "../api/video:encoded_image",
philipel6daa3042022-04-11 08:48:28469 "../api/video:render_resolution",
Evan Shrubsolece0a11d2020-04-16 09:36:55470 "../api/video:video_adaptation",
Erik Språng7ca375c2019-02-06 15:20:17471 "../api/video:video_bitrate_allocation",
Niels Möller213618e2018-07-24 07:29:58472 "../api/video:video_bitrate_allocator",
Jiawei Ouc2ebe212018-11-08 18:02:56473 "../api/video:video_bitrate_allocator_factory",
Evan Shrubsolecc62b162019-09-09 09:26:45474 "../api/video:video_codec_constants",
Niels Möller213618e2018-07-24 07:29:58475 "../api/video:video_frame",
Per Kjellandera9434842020-10-15 15:53:22476 "../api/video:video_layers_allocation",
Chen Xing5d24b162019-06-10 10:59:38477 "../api/video:video_rtp_headers",
Niels Möller213618e2018-07-24 07:29:58478 "../api/video:video_stream_encoder",
479 "../api/video_codecs:video_codecs_api",
Henrik Boström382cc6d2020-01-07 09:15:04480 "../call/adaptation:resource_adaptation",
Artem Titov94b57c02019-03-21 12:35:10481 "../common_video",
Erik Språng6a7baa72019-02-26 17:31:00482 "../modules:module_api_public",
Niels Möller213618e2018-07-24 07:29:58483 "../modules/video_coding",
Erik Språng6a7baa72019-02-26 17:31:00484 "../modules/video_coding:video_codec_interface",
Niels Möller213618e2018-07-24 07:29:58485 "../modules/video_coding:video_coding_utility",
Sergey Silkin8b9b5f92018-12-10 08:28:53486 "../modules/video_coding:webrtc_vp9_helpers",
Zhaoliang Ma528e4892021-11-12 05:05:07487 "../modules/video_coding/svc:scalability_structures",
Danil Chapovalov5219c6f2021-07-27 10:48:50488 "../modules/video_coding/svc:svc_rate_allocator",
Niels Möller213618e2018-07-24 07:29:58489 "../rtc_base:checks",
490 "../rtc_base:criticalsection",
Florent Castellia30aef32022-04-19 15:47:13491 "../rtc_base:event_tracer",
Florent Castelliaa6d05d2022-04-14 11:13:56492 "../rtc_base:location",
Niels Möller213618e2018-07-24 07:29:58493 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46494 "../rtc_base:macromagic",
Florent Castellif4db3512022-04-14 11:38:05495 "../rtc_base:race_checker",
Florent Castelli6bb1fd32022-04-19 13:58:39496 "../rtc_base:rate_statistics",
Florent Castellif86f6f92022-04-05 00:54:12497 "../rtc_base:refcount",
Niels Möller213618e2018-07-24 07:29:58498 "../rtc_base:rtc_event",
499 "../rtc_base:rtc_numerics",
500 "../rtc_base:rtc_task_queue",
Florent Castellie10a9f62022-04-04 15:04:37501 "../rtc_base:safe_conversions",
Florent Castelli57aa81b2022-04-04 15:14:02502 "../rtc_base:stringutils",
Niels Möller213618e2018-07-24 07:29:58503 "../rtc_base:timeutils",
Erik Språng6a7baa72019-02-26 17:31:00504 "../rtc_base/experiments:alr_experiment",
Åsa Perssonf3d828e2019-05-06 10:22:49505 "../rtc_base/experiments:balanced_degradation_settings",
Åsa Persson258e9892021-02-25 09:39:51506 "../rtc_base/experiments:encoder_info_settings",
Niels Möllereea92882019-04-25 06:44:04507 "../rtc_base/experiments:field_trial_parser",
Åsa Perssone644a032019-11-08 14:56:00508 "../rtc_base/experiments:quality_rampup_experiment",
Åsa Persson139f4dc2019-08-02 07:29:58509 "../rtc_base/experiments:quality_scaler_settings",
Niels Möller213618e2018-07-24 07:29:58510 "../rtc_base/experiments:quality_scaling_experiment",
Erik Språng7ca375c2019-02-06 15:20:17511 "../rtc_base/experiments:rate_control_settings",
Markus Handella3765182020-07-08 11:13:32512 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:42513 "../rtc_base/system:no_unique_address",
Tomas Gunnarsson612445e2020-09-21 12:31:23514 "../rtc_base/task_utils:pending_task_safety_flag",
Sebastian Janssonecb68972019-01-18 09:30:54515 "../rtc_base/task_utils:repeating_task",
Markus Handell8935a7e2021-10-19 11:12:36516 "../rtc_base/task_utils:to_queued_task",
Niels Möllerfe407b72019-09-10 08:48:48517 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10518 "../system_wrappers:field_trial",
Markus Handell8935a7e2021-10-19 11:12:36519 "../system_wrappers:metrics",
Henrik Boströmefbec9a2020-03-06 09:41:25520 "adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41521 ]
522 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27523 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov64f1f3f2020-01-16 13:41:10524 "//third_party/abseil-cpp/absl/base:core_headers",
Niels Möller213618e2018-07-24 07:29:58525 "//third_party/abseil-cpp/absl/types:optional",
526 ]
527}
528
Peter Boström02083222016-06-14 10:52:54529if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:04530 rtc_library("video_mocks") {
Sebastian Jansson652dc912018-04-19 15:09:15531 testonly = true
Danil Chapovalov64f1f3f2020-01-16 13:41:10532 sources = [ "test/mock_video_stream_encoder.h" ]
Sebastian Jansson652dc912018-04-19 15:09:15533 deps = [
Niels Möller213618e2018-07-24 07:29:58534 "../api/video:video_stream_encoder",
Sebastian Jansson652dc912018-04-19 15:09:15535 "../test:test_support",
536 ]
537 }
Andrey Logvine7c79fd2021-02-01 09:56:37538 if (!build_with_chromium) {
539 rtc_library("video_quality_test") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09540 testonly = true
Andrey Logvine7c79fd2021-02-01 09:56:37541
542 # Only targets in this file and api/ can depend on this.
543 visibility = [
544 ":*",
545 "../api:create_video_quality_test_fixture_api",
546 ]
547 sources = [
548 "video_analyzer.cc",
549 "video_analyzer.h",
550 "video_quality_test.cc",
551 "video_quality_test.h",
552 ]
553 deps = [
554 ":frame_dumping_decoder",
555 "../api:create_frame_generator",
556 "../api:fec_controller_api",
557 "../api:frame_generator_api",
558 "../api:libjingle_peerconnection_api",
559 "../api:rtc_event_log_output_file",
560 "../api:test_dependency_factory",
561 "../api:video_quality_test_fixture_api",
562 "../api/numerics",
563 "../api/rtc_event_log:rtc_event_log_factory",
564 "../api/task_queue",
565 "../api/task_queue:default_task_queue_factory",
566 "../api/video:builtin_video_bitrate_allocator_factory",
567 "../api/video:video_bitrate_allocator_factory",
568 "../api/video:video_frame",
569 "../api/video:video_rtp_headers",
570 "../api/video_codecs:video_codecs_api",
571 "../call:fake_network",
572 "../call:simulated_network",
573 "../common_video",
574 "../media:rtc_audio_video",
575 "../media:rtc_encoder_simulcast_proxy",
576 "../media:rtc_internal_video_codecs",
577 "../media:rtc_media_base",
578 "../modules/audio_device:audio_device_api",
579 "../modules/audio_device:audio_device_module_from_input_and_output",
580 "../modules/audio_device:windows_core_audio_utility",
581 "../modules/audio_mixer:audio_mixer_impl",
582 "../modules/rtp_rtcp",
583 "../modules/rtp_rtcp:rtp_rtcp_format",
584 "../modules/video_coding",
585 "../modules/video_coding:video_coding_utility",
586 "../modules/video_coding:webrtc_h264",
587 "../modules/video_coding:webrtc_multiplex",
588 "../modules/video_coding:webrtc_vp8",
589 "../modules/video_coding:webrtc_vp9",
Florent Castelli4467ad72022-04-04 13:18:46590 "../rtc_base:macromagic",
Florent Castelli45a05992022-04-14 10:18:28591 "../rtc_base:platform_thread",
Andrey Logvine7c79fd2021-02-01 09:56:37592 "../rtc_base:rtc_base_approved",
593 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:52594 "../rtc_base:rtc_event",
Andrey Logvine7c79fd2021-02-01 09:56:37595 "../rtc_base:rtc_numerics",
Florent Castelli57aa81b2022-04-04 15:14:02596 "../rtc_base:stringutils",
Andrey Logvine7c79fd2021-02-01 09:56:37597 "../rtc_base:task_queue_for_test",
Florent Castellidd837e22022-04-04 15:16:15598 "../rtc_base:timeutils",
Andrey Logvine7c79fd2021-02-01 09:56:37599 "../rtc_base/synchronization:mutex",
600 "../rtc_base/task_utils:repeating_task",
601 "../system_wrappers",
602 "../test:fake_video_codecs",
603 "../test:fileutils",
604 "../test:perf_test",
605 "../test:platform_video_capturer",
606 "../test:rtp_test_utils",
607 "../test:test_common",
608 "../test:test_renderer",
609 "../test:test_support",
610 "../test:test_support_test_artifacts",
611 "../test:video_test_common",
612 "../test:video_test_support",
613 ]
614 absl_deps = [
615 "//third_party/abseil-cpp/absl/algorithm:container",
616 "//third_party/abseil-cpp/absl/flags:flag",
617 "//third_party/abseil-cpp/absl/flags:parse",
618 ]
619
620 if (is_mac || is_ios) {
621 deps += [ "../test:video_test_mac" ]
622 }
Florent Castelli15a3c3f2022-04-27 08:33:27623 if (is_win) {
624 deps += [ "../rtc_base/win:scoped_com_initializer" ]
625 }
Kári Tristan Helgasonede7cb22019-03-06 09:34:09626 }
Andrey Logvine7c79fd2021-02-01 09:56:37627
628 rtc_library("video_full_stack_tests") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09629 testonly = true
Andrey Logvine7c79fd2021-02-01 09:56:37630
631 sources = [ "full_stack_tests.cc" ]
632 deps = [
633 ":video_quality_test",
634 "../api:simulated_network_api",
635 "../api:test_dependency_factory",
636 "../api:video_quality_test_fixture_api",
637 "../api/video_codecs:video_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37638 "../modules/pacing",
639 "../modules/video_coding:webrtc_vp9",
640 "../rtc_base/experiments:alr_experiment",
641 "../system_wrappers:field_trial",
642 "../test:field_trial",
643 "../test:fileutils",
644 "../test:test_common",
645 "../test:test_support",
646 "//testing/gtest",
647 ]
648 absl_deps = [
649 "//third_party/abseil-cpp/absl/flags:flag",
650 "//third_party/abseil-cpp/absl/flags:parse",
651 "//third_party/abseil-cpp/absl/types:optional",
652 ]
Kári Tristan Helgasonede7cb22019-03-06 09:34:09653 }
Kári Tristan Helgasonede7cb22019-03-06 09:34:09654
Andrey Logvine7c79fd2021-02-01 09:56:37655 rtc_library("video_pc_full_stack_tests") {
656 testonly = true
kjellandera3cac052016-10-24 08:52:39657
Andrey Logvine7c79fd2021-02-01 09:56:37658 sources = [ "pc_full_stack_tests.cc" ]
659 deps = [
660 "../api:create_network_emulation_manager",
661 "../api:create_peer_connection_quality_test_frame_generator",
662 "../api:create_peerconnection_quality_test_fixture",
663 "../api:frame_generator_api",
664 "../api:media_stream_interface",
665 "../api:network_emulation_manager_api",
666 "../api:peer_connection_quality_test_fixture_api",
667 "../api:simulated_network_api",
668 "../api:time_controller",
Johannes Kronc3fcee72021-04-19 07:09:26669 "../api/video_codecs:video_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37670 "../call:simulated_network",
Andrey Logvine7c79fd2021-02-01 09:56:37671 "../modules/video_coding:webrtc_vp9",
672 "../system_wrappers:field_trial",
673 "../test:field_trial",
674 "../test:fileutils",
675 "../test:test_support",
676 "../test/pc/e2e:network_quality_metrics_reporter",
677 ]
678 }
kjellandera3cac052016-10-24 08:52:39679
Andrey Logvine7c79fd2021-02-01 09:56:37680 rtc_library("video_loopback_lib") {
681 testonly = true
682 sources = [
683 "video_loopback.cc",
684 "video_loopback.h",
685 ]
686 deps = [
687 ":video_quality_test",
688 "../api:libjingle_peerconnection_api",
689 "../api:simulated_network_api",
690 "../api:video_quality_test_fixture_api",
691 "../api/transport:bitrate_settings",
692 "../api/video_codecs:video_codecs_api",
693 "../rtc_base:checks",
694 "../rtc_base:logging",
695 "../system_wrappers:field_trial",
696 "../test:field_trial",
697 "../test:run_test",
698 "../test:run_test_interface",
699 "../test:test_common",
700 "../test:test_renderer",
701 "../test:test_support",
702 "//testing/gtest",
703 ]
704 absl_deps = [
705 "//third_party/abseil-cpp/absl/flags:flag",
706 "//third_party/abseil-cpp/absl/flags:parse",
707 "//third_party/abseil-cpp/absl/types:optional",
708 ]
709 }
710
711 if (is_mac) {
712 mac_app_bundle("video_loopback") {
713 testonly = true
714 sources = [ "video_loopback_main.mm" ]
715 info_plist = "../test/mac/Info.plist"
716 deps = [ ":video_loopback_lib" ]
717 }
718 } else {
719 rtc_executable("video_loopback") {
720 testonly = true
721 sources = [ "video_loopback_main.cc" ]
722 deps = [ ":video_loopback_lib" ]
723 }
724 }
725
726 rtc_executable("screenshare_loopback") {
727 testonly = true
728 sources = [ "screenshare_loopback.cc" ]
729
730 deps = [
731 ":video_quality_test",
732 "../api:libjingle_peerconnection_api",
733 "../api:simulated_network_api",
734 "../api:video_quality_test_fixture_api",
735 "../api/transport:bitrate_settings",
736 "../api/video_codecs:video_codecs_api",
737 "../rtc_base:checks",
738 "../rtc_base:logging",
739 "../rtc_base:stringutils",
740 "../system_wrappers:field_trial",
741 "../test:field_trial",
742 "../test:run_test",
743 "../test:run_test_interface",
744 "../test:test_common",
745 "../test:test_renderer",
746 "../test:test_support",
747 "//third_party/abseil-cpp/absl/flags:flag",
748 "//third_party/abseil-cpp/absl/flags:parse",
749 "//third_party/abseil-cpp/absl/types:optional",
750 ]
751 }
752
753 rtc_executable("sv_loopback") {
754 testonly = true
755 sources = [ "sv_loopback.cc" ]
756 deps = [
757 ":video_quality_test",
758 "../api:libjingle_peerconnection_api",
759 "../api:simulated_network_api",
760 "../api:video_quality_test_fixture_api",
761 "../api/transport:bitrate_settings",
762 "../api/video_codecs:video_codecs_api",
763 "../rtc_base:checks",
764 "../rtc_base:logging",
765 "../rtc_base:stringutils",
766 "../system_wrappers:field_trial",
767 "../test:field_trial",
768 "../test:run_test",
769 "../test:run_test_interface",
770 "../test:test_common",
771 "../test:test_renderer",
772 "../test:test_support",
773 "//testing/gtest",
774 "//third_party/abseil-cpp/absl/flags:flag",
775 "//third_party/abseil-cpp/absl/flags:parse",
776 "//third_party/abseil-cpp/absl/types:optional",
777 ]
778 }
Ilya Nikolaevskiy255d1cd2017-12-21 17:02:59779 }
780
Peter Boström02083222016-06-14 10:52:54781 # TODO(pbos): Rename test suite.
Mirko Bonadei86d053c2019-10-17 19:32:04782 rtc_library("video_tests") {
Peter Boström02083222016-06-14 10:52:54783 testonly = true
kjellandere0629c02017-04-25 11:04:50784
hta9aa96882016-12-06 13:36:03785 defines = []
Peter Boström02083222016-06-14 10:52:54786 sources = [
Åsa Perssonc5a74ff2020-09-20 15:50:00787 "alignment_adjuster_unittest.cc",
Benjamin Wright00765292018-12-01 00:18:26788 "buffered_frame_decryptor_unittest.cc",
Tommi822a8742020-05-10 22:42:30789 "call_stats2_unittest.cc",
Åsa Perssoncb7eddb2018-11-05 13:11:44790 "cpu_scaling_tests.cc",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26791 "decode_synchronizer_unittest.cc",
Erik Språng7ca375c2019-02-06 15:20:17792 "encoder_bitrate_adjuster_unittest.cc",
Erik Språng7ca375c2019-02-06 15:20:17793 "encoder_overshoot_detector_unittest.cc",
Elad Alon14d1c9d2019-04-08 12:16:17794 "encoder_rtcp_feedback_unittest.cc",
Sebastian Janssonc5017132018-02-02 15:24:16795 "end_to_end_tests/bandwidth_tests.cc",
796 "end_to_end_tests/call_operation_tests.cc",
797 "end_to_end_tests/codec_tests.cc",
798 "end_to_end_tests/config_tests.cc",
799 "end_to_end_tests/extended_reports_tests.cc",
800 "end_to_end_tests/fec_tests.cc",
Benjamin Wright150a9072018-10-26 22:43:06801 "end_to_end_tests/frame_encryption_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16802 "end_to_end_tests/histogram_tests.cc",
Åsa Persson96c9fc42018-05-23 10:47:20803 "end_to_end_tests/multi_codec_receive_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16804 "end_to_end_tests/multi_stream_tester.cc",
805 "end_to_end_tests/multi_stream_tester.h",
806 "end_to_end_tests/multi_stream_tests.cc",
807 "end_to_end_tests/network_state_tests.cc",
Åsa Persson4a4273b2021-03-05 15:03:37808 "end_to_end_tests/resolution_bitrate_limits_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16809 "end_to_end_tests/retransmission_tests.cc",
810 "end_to_end_tests/rtp_rtcp_tests.cc",
811 "end_to_end_tests/ssrc_tests.cc",
812 "end_to_end_tests/stats_tests.cc",
813 "end_to_end_tests/transport_feedback_tests.cc",
Evan Shrubsole9d290262021-12-15 13:33:40814 "frame_buffer_proxy_unittest.cc",
Markus Handellb4e96d42021-11-05 11:00:55815 "frame_cadence_adapter_unittest.cc",
Evan Shrubsole9a999052021-12-12 14:27:00816 "frame_decode_timing_unittest.cc",
Ilya Nikolaevskiy2ebf5232019-05-13 14:13:36817 "frame_encode_metadata_writer_unittest.cc",
Sebastian Janssone92f93f2017-06-22 12:44:04818 "picture_id_tests.cc",
Henrik Boströmce33b6a2019-05-28 15:42:38819 "quality_limitation_reason_tracker_unittest.cc",
Åsa Persson2027b662018-05-02 16:08:06820 "quality_scaling_tests.cc",
palmkvist349092b2016-12-13 10:45:57821 "quality_threshold_unittest.cc",
Tommi74fc5742020-04-27 08:43:06822 "receive_statistics_proxy2_unittest.cc",
Peter Boström02083222016-06-14 10:52:54823 "report_block_stats_unittest.cc",
Tommid3807da2020-05-22 15:36:36824 "rtp_video_stream_receiver2_unittest.cc",
Marina Ciocea78964c12020-03-10 20:31:52825 "rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc",
Peter Boström02083222016-06-14 10:52:54826 "send_delay_stats_unittest.cc",
827 "send_statistics_proxy_unittest.cc",
828 "stats_counter_unittest.cc",
829 "stream_synchronization_unittest.cc",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26830 "task_queue_frame_decode_scheduler_unittest.cc",
Tommiae4d0972020-05-18 06:45:38831 "video_receive_stream2_unittest.cc",
Evan Shrubsole9a999052021-12-12 14:27:00832 "video_receive_stream_timeout_tracker_unittest.cc",
Sebastian Jansson652dc912018-04-19 15:09:15833 "video_send_stream_impl_unittest.cc",
Peter Boström02083222016-06-14 10:52:54834 "video_send_stream_tests.cc",
Henrik Boströmce0ea492020-01-13 10:27:18835 "video_source_sink_controller_unittest.cc",
philipel539f9b32020-01-09 15:12:25836 "video_stream_decoder_impl_unittest.cc",
mflodmancc3d4422017-08-03 15:27:51837 "video_stream_encoder_unittest.cc",
Peter Boström02083222016-06-14 10:52:54838 ]
839 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26840 ":decode_synchronizer",
Evan Shrubsole9d290262021-12-15 13:33:40841 ":frame_buffer_proxy",
Markus Handellb4e96d42021-11-05 11:00:55842 ":frame_cadence_adapter",
Evan Shrubsole9a999052021-12-12 14:27:00843 ":frame_decode_scheduler",
844 ":frame_decode_timing",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26845 ":task_queue_frame_decode_scheduler",
Peter Boström02083222016-06-14 10:52:54846 ":video",
Sebastian Jansson652dc912018-04-19 15:09:15847 ":video_mocks",
Evan Shrubsole9a999052021-12-12 14:27:00848 ":video_receive_stream_timeout_tracker",
philipel539f9b32020-01-09 15:12:25849 ":video_stream_decoder_impl",
Niels Möller213618e2018-07-24 07:29:58850 ":video_stream_encoder_impl",
Artem Titov33f9d2b2019-12-05 14:59:00851 "../api:create_frame_generator",
Benjamin Wright150a9072018-10-26 22:43:06852 "../api:fake_frame_decryptor",
853 "../api:fake_frame_encryptor",
Artem Titov33f9d2b2019-12-05 14:59:00854 "../api:frame_generator_api",
Yves Gerey3e707812018-11-28 15:47:49855 "../api:libjingle_peerconnection_api",
Elad Alon45befc52019-07-02 09:20:09856 "../api:mock_fec_controller_override",
Benjamin Wright00765292018-12-01 00:18:26857 "../api:mock_frame_decryptor",
Henrik Boström56db9ff2021-03-24 08:06:45858 "../api:mock_video_codec_factory",
Danil Chapovalov9cd4d492021-08-03 12:59:00859 "../api:mock_video_decoder",
philipel9b058032020-02-10 10:30:00860 "../api:mock_video_encoder",
Niels Mölleref1052a2019-03-20 07:40:23861 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:28862 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:48863 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24864 "../api:sequence_checker",
Artem Titov46c4e602018-08-17 12:26:54865 "../api:simulated_network_api",
Evan Shrubsole44be5792022-04-26 14:24:41866 "../api:time_controller",
Marina Ciocea78964c12020-03-10 20:31:52867 "../api:transport_api",
Henrik Boströme2e8c172020-06-03 07:24:06868 "../api/adaptation:resource_adaptation_api",
Mirko Bonadeieaaaf412019-09-13 12:42:15869 "../api/crypto:options",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26870 "../api/metronome/test:fake_metronome",
Danil Chapovalov83bbe912019-08-07 10:24:53871 "../api/rtc_event_log",
Danil Chapovalov44db4362019-09-30 02:16:28872 "../api/task_queue",
Danil Chapovalov22ed3662019-03-19 18:39:49873 "../api/task_queue:default_task_queue_factory",
Danil Chapovalov99b71df2018-10-26 13:57:48874 "../api/test/video:function_video_factory",
Erik Språng7ca375c2019-02-06 15:20:17875 "../api/units:data_rate",
Evan Shrubsole9a999052021-12-12 14:27:00876 "../api/units:frequency",
Evan Shrubsole9d290262021-12-15 13:33:40877 "../api/units:time_delta",
Henrik Boström23aff9b2019-05-20 13:15:38878 "../api/units:timestamp",
Jiawei Ouc2ebe212018-11-08 18:02:56879 "../api/video:builtin_video_bitrate_allocator_factory",
Niels Möller4dc66c52018-10-05 12:17:58880 "../api/video:encoded_image",
Evan Shrubsole44be5792022-04-26 14:24:41881 "../api/video:recordable_encoded_frame",
Evan Shrubsolece0a11d2020-04-16 09:36:55882 "../api/video:video_adaptation",
Erik Språngf93eda12019-01-16 16:10:57883 "../api/video:video_bitrate_allocation",
Niels Möllerc6ce9c52018-05-11 09:15:30884 "../api/video:video_frame",
Johannes Krond51ec582019-04-15 11:32:41885 "../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 10:59:38886 "../api/video:video_rtp_headers",
Evan Shrubsole44be5792022-04-26 14:24:41887 "../api/video/test:video_frame_matchers",
mbonadei9087d492017-04-25 07:35:35888 "../api/video_codecs:video_codecs_api",
Elad Aloncde8ab22019-03-20 10:56:20889 "../api/video_codecs:vp8_temporal_layers_factory",
mbonadei9087d492017-04-25 07:35:35890 "../call:call_interfaces",
Artem Titovdd2eebe2018-08-20 11:27:45891 "../call:fake_network",
Sebastian Jansson652dc912018-04-19 15:09:15892 "../call:mock_bitrate_allocator",
eladalone2173d92017-07-28 17:05:45893 "../call:mock_rtp_interfaces",
Yves Gerey3e707812018-11-28 15:47:49894 "../call:rtp_interfaces",
nisse0f15f922017-06-21 08:05:22895 "../call:rtp_receiver",
sprangdb2a9fc2017-08-09 13:42:32896 "../call:rtp_sender",
Artem Titovdd2eebe2018-08-20 11:27:45897 "../call:simulated_network",
Yves Gerey3e707812018-11-28 15:47:49898 "../call:simulated_packet_receiver",
aleloi440b6d92017-08-22 12:43:23899 "../call:video_stream_api",
Henrik Boströmce0ea492020-01-13 10:27:18900 "../call/adaptation:resource_adaptation",
Evan Shrubsoleaa6fbc12020-02-25 15:26:01901 "../call/adaptation:resource_adaptation_test_utilities",
mbonadei9087d492017-04-25 07:35:35902 "../common_video",
Johannes Kronf1ab9b92018-12-14 09:14:07903 "../common_video/test:utilities",
Mirko Bonadei75baa492018-01-11 16:07:30904 "../media:rtc_audio_video",
Anders Carlssona114c882018-01-04 14:10:22905 "../media:rtc_internal_video_codecs",
brandtr5e171752017-05-23 10:32:16906 "../media:rtc_media",
magjedceecea42016-11-28 15:20:21907 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:35908 "../media:rtc_media_tests_utils",
Jonathan Yu9a5da492018-10-19 07:51:18909 "../media:rtc_simulcast_encoder_adapter",
Danil Chapovalov7c067772019-10-07 10:56:24910 "../modules:module_api_public",
mbonadei9087d492017-04-25 07:35:35911 "../modules/pacing",
912 "../modules/rtp_rtcp",
kjellandere0629c02017-04-25 11:04:50913 "../modules/rtp_rtcp:mock_rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:33914 "../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei9087d492017-04-25 07:35:35915 "../modules/video_coding",
Sergey Silkin86684962018-03-28 17:32:37916 "../modules/video_coding:codec_globals_headers",
Markus Handell269ac812019-12-03 13:31:45917 "../modules/video_coding:encoded_frame",
philipel10dc1a62021-09-15 08:45:43918 "../modules/video_coding:packet_buffer",
Evan Shrubsole9a999052021-12-12 14:27:00919 "../modules/video_coding:timing",
Patrik Höglund99175c62018-01-08 10:05:10920 "../modules/video_coding:video_codec_interface",
mbonadei9087d492017-04-25 07:35:35921 "../modules/video_coding:video_coding_utility",
922 "../modules/video_coding:webrtc_h264",
Emircan Uysaleref76e5a2018-02-12 21:36:41923 "../modules/video_coding:webrtc_multiplex",
Sergio Garcia Murillo43800f92018-06-21 14:16:38924 "../modules/video_coding:webrtc_vp8",
mbonadei9087d492017-04-25 07:35:35925 "../modules/video_coding:webrtc_vp9",
Erik Språng7444b192021-06-02 12:02:13926 "../modules/video_coding:webrtc_vp9_helpers",
philipel95701502022-01-18 17:47:52927 "../modules/video_coding/codecs/av1:libaom_av1_encoder_if_supported",
Niels Möller79d566b2022-04-29 09:03:13928 "../modules/video_coding/svc:scalability_mode_util",
Elad Alon157540a2019-02-08 22:37:52929 "../rtc_base",
Florent Castelliceb7b362022-04-19 15:35:04930 "../rtc_base:byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:42931 "../rtc_base:checks",
Henrik Boström2671dac2020-05-19 14:29:09932 "../rtc_base:gunit_helpers",
Florent Castelliaa6d05d2022-04-14 11:13:56933 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:30934 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46935 "../rtc_base:macromagic",
Florent Castelli45a05992022-04-14 10:18:28936 "../rtc_base:platform_thread",
Patrik Höglunda8005cf2017-12-13 15:05:42937 "../rtc_base:rate_limiter",
Florent Castelli6bb1fd32022-04-19 13:58:39938 "../rtc_base:rate_statistics",
Florent Castellif86f6f92022-04-05 00:54:12939 "../rtc_base:refcount",
ehmaldonadof6a861a2017-07-19 17:40:47940 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:52941 "../rtc_base:rtc_event",
Bjorn Tereliusa194e582017-10-25 11:07:09942 "../rtc_base:rtc_numerics",
Tommi38c5d932018-03-27 21:11:09943 "../rtc_base:rtc_task_queue",
Florent Castellie10a9f62022-04-04 15:04:37944 "../rtc_base:safe_conversions",
Florent Castelli57aa81b2022-04-04 15:14:02945 "../rtc_base:stringutils",
Danil Chapovalovd26a9162019-03-19 17:08:37946 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01947 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15948 "../rtc_base:timeutils",
Evan Shrubsole9a999052021-12-12 14:27:00949 "../rtc_base/containers:flat_map",
Sebastian Janssoncabe3832018-01-12 09:54:18950 "../rtc_base/experiments:alr_experiment",
Åsa Persson258e9892021-02-25 09:39:51951 "../rtc_base/experiments:encoder_info_settings",
Markus Handell9bbff072020-07-07 12:23:18952 "../rtc_base/synchronization:mutex",
Danil Chapovalov1aa75812019-03-05 10:11:35953 "../rtc_base/task_utils:to_queued_task",
mbonadei9087d492017-04-25 07:35:35954 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10955 "../system_wrappers:field_trial",
956 "../system_wrappers:metrics",
mbonadei9087d492017-04-25 07:35:35957 "../test:direct_transport",
Danil Chapovalovce928172019-04-24 16:17:42958 "../test:encoder_settings",
Evan Shrubsolea0ee64c2022-04-26 08:09:04959 "../test:fake_encoded_frame",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27960 "../test:fake_video_codecs",
mbonadei9087d492017-04-25 07:35:35961 "../test:field_trial",
Patrik Höglund7696bef2018-03-15 14:05:39962 "../test:fileutils",
Artem Titov33f9d2b2019-12-05 14:59:00963 "../test:frame_utils",
Marina Ciocea1148fd52020-04-29 20:39:13964 "../test:mock_frame_transformer",
Tim Na9526c552020-02-20 19:53:13965 "../test:mock_transport",
Danil Chapovalovce928172019-04-24 16:17:42966 "../test:null_transport",
Edward Lemure66572b2018-01-05 14:34:09967 "../test:perf_test",
mbonadei9087d492017-04-25 07:35:35968 "../test:rtp_test_utils",
Jonas Orelandc7f691a2022-03-09 14:12:07969 "../test:scoped_key_value_config",
mbonadei9087d492017-04-25 07:35:35970 "../test:test_common",
971 "../test:test_support",
972 "../test:video_test_common",
Markus Handell486cc552019-12-03 13:37:28973 "../test/time_controller",
Henrik Boströmefbec9a2020-03-06 09:41:25974 "adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41975 ]
976 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27977 "//third_party/abseil-cpp/absl/algorithm:container",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26978 "//third_party/abseil-cpp/absl/functional:bind_front",
Karl Wiberg918f50c2018-07-05 09:40:33979 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalovb9b146c2018-06-15 10:28:07980 "//third_party/abseil-cpp/absl/types:optional",
Evan Shrubsole9a999052021-12-12 14:27:00981 "//third_party/abseil-cpp/absl/types:variant",
Peter Boström02083222016-06-14 10:52:54982 ]
Dan Minor9c686132018-01-15 15:20:00983 if (!build_with_mozilla) {
984 deps += [ "../media:rtc_media_base" ]
985 }
Peter Boström02083222016-06-14 10:52:54986 }
Niels Möller679f1cb2021-12-21 14:45:30987 rtc_library("video_legacy_tests") {
988 testonly = true
989 sources = [
990 "call_stats_unittest.cc",
991 "receive_statistics_proxy_unittest.cc",
992 "rtp_video_stream_receiver_unittest.cc",
993 ]
994 deps = [
995 ":video_legacy",
996 "../api:scoped_refptr",
997 "../api/video:video_frame",
998 "../api/video:video_frame_type",
999 "../api/video:video_rtp_headers",
1000 "../call:mock_rtp_interfaces",
1001 "../common_video",
1002 "../media:rtc_media_base",
1003 "../modules/rtp_rtcp",
1004 "../modules/rtp_rtcp:rtp_rtcp_format",
1005 "../modules/utility",
1006 "../modules/video_coding",
1007 "../modules/video_coding:video_codec_interface",
Florent Castelliceb7b362022-04-19 15:35:041008 "../rtc_base:byte_buffer",
Florent Castelliaa6d05d2022-04-14 11:13:561009 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:301010 "../rtc_base:logging",
Florent Castelli33d31fb2022-04-04 14:57:521011 "../rtc_base:rtc_event",
Niels Möller679f1cb2021-12-21 14:45:301012 "../rtc_base/task_utils:to_queued_task",
1013 "../system_wrappers",
1014 "../system_wrappers:field_trial",
1015 "../system_wrappers:metrics",
1016 "../test:field_trial",
1017 "../test:mock_frame_transformer",
1018 "../test:mock_transport",
Jonas Oreland8ca06132022-03-14 11:52:481019 "../test:scoped_key_value_config",
Niels Möller679f1cb2021-12-21 14:45:301020 "../test:test_support",
1021 ]
1022 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
1023 }
Peter Boström02083222016-06-14 10:52:541024}