blob: 8033802460489fb5ab5c4e2efb7d31c616f9a90b [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 = [
Markus Handellb4e96d42021-11-05 11:00:5556 ":frame_cadence_adapter",
Erik Språng96965ae2018-10-23 13:42:3757 ":frame_dumping_decoder",
Rasmus Brandtfbf66dd2022-05-23 07:53:3258 ":unique_timestamp_counter",
Evan Shrubsole476f18d22022-08-15 15:21:1659 ":video_stream_buffer_controller",
Per Kjellanderb03b6c82021-01-03 09:26:0360 ":video_stream_encoder_impl",
Yves Gerey3e707812018-11-28 15:47:4961 "../api:array_view",
Ying Wang3b790f32018-01-19 16:58:5762 "../api:fec_controller_api",
Jonas Orelande62c2f22022-03-29 09:04:4863 "../api:field_trials_view",
Marina Ciocea412a31b2020-02-28 15:02:0664 "../api:frame_transformer_interface",
Niels Möller6dcd4dc2019-08-26 08:45:2865 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:4866 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:2467 "../api:sequence_checker",
aleloia8eb7562016-11-28 15:02:1368 "../api:transport_api",
Mirko Bonadeieaaaf412019-09-13 12:42:1569 "../api/crypto:frame_decryptor_interface",
70 "../api/crypto:options",
Sebastian Jansson74682c12019-03-01 10:50:2071 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:4572 "../api/task_queue:pending_task_safety_flag",
Evan Shrubsoled425f502022-04-28 08:18:1273 "../api/units:frequency",
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",
Evan Shrubsole29d72922022-08-16 11:01:4688 "../call:rtp_receiver",
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",
Markus Handell06a2bf02021-07-22 13:09:39100 "../modules/video_coding:nack_requester",
philipel10dc1a62021-09-15 08:45:43101 "../modules/video_coding:packet_buffer",
Patrik Höglund99175c62018-01-08 10:05:10102 "../modules/video_coding:video_codec_interface",
Danil Chapovalov1aa75812019-03-05 10:11:35103 "../modules/video_coding:video_coding_utility",
Rasmus Brandtc4d253c2022-05-25 10:03:35104 "../modules/video_coding/timing:timing_module",
Patrik Höglunda8005cf2017-12-13 15:05:42105 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:13106 "../rtc_base:event_tracer",
Florent Castelli3629a5f2022-04-14 11:50:13107 "../rtc_base:histogram_percentile_counter",
Florent Castelliaa6d05d2022-04-14 11:13:56108 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:30109 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46110 "../rtc_base:macromagic",
Florent Castelli31764092022-04-14 11:41:58111 "../rtc_base:mod_ops",
Florent Castelli83a36d42022-04-14 11:44:39112 "../rtc_base:moving_max_counter",
Florent Castelli45a05992022-04-14 10:18:28113 "../rtc_base:platform_thread",
Florent Castelli6bb1fd32022-04-19 13:58:39114 "../rtc_base:rate_statistics",
Florent Castelli58cc4682022-04-19 13:50:28115 "../rtc_base:rate_tracker",
Florent Castelli33d31fb2022-04-04 14:57:52116 "../rtc_base:rtc_event",
Danil Chapovalov1aa75812019-03-05 10:11:35117 "../rtc_base:rtc_numerics",
118 "../rtc_base:rtc_task_queue",
Florent Castellie10a9f62022-04-04 15:04:37119 "../rtc_base:safe_conversions",
Florent Castelli17296422022-04-14 11:48:10120 "../rtc_base:sample_counter",
Tommifef05002018-02-27 12:51:08121 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01122 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15123 "../rtc_base:timeutils",
Sebastian Janssoncabe3832018-01-12 09:54:18124 "../rtc_base/experiments:alr_experiment",
Jonas Olsson0182a032019-07-09 10:31:20125 "../rtc_base/experiments:field_trial_parser",
Rasmus Brandt3dde4502019-03-21 10:46:17126 "../rtc_base/experiments:keyframe_interval_settings_experiment",
Elad Alon80f53b72019-10-11 14:19:43127 "../rtc_base/experiments:min_video_bitrate_experiment",
Erik Språngcd76eab2019-01-21 17:06:46128 "../rtc_base/experiments:rate_control_settings",
Markus Handella3765182020-07-08 11:13:32129 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:42130 "../rtc_base/system:no_unique_address",
Sebastian Janssonecb68972019-01-18 09:30:54131 "../rtc_base/task_utils:repeating_task",
Danil Chapovalov1aa75812019-03-05 10:11:35132 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10133 "../system_wrappers:field_trial",
134 "../system_wrappers:metrics",
Evan Shrubsole29d72922022-08-16 11:01:46135 "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",
Karl Wiberg918f50c2018-07-05 09:40:33139 "//third_party/abseil-cpp/absl/memory",
Mirko Bonadei06d35592020-04-01 11:43:08140 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovb9b146c2018-06-15 10:28:07141 "//third_party/abseil-cpp/absl/types:optional",
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22142 ]
Dan Minor9c686132018-01-15 15:20:00143
144 if (!build_with_mozilla) {
145 deps += [ "../media:rtc_media_base" ]
146 }
kjellander@webrtc.org1227ab82014-06-23 19:21:07147}
Peter Boström02083222016-06-14 10:52:54148
Mirko Bonadei86d053c2019-10-17 19:32:04149rtc_library("video_stream_decoder_impl") {
philipel2fee4d62018-03-21 15:52:13150 visibility = [ "*" ]
Anders Carlsson51e23ae2018-05-24 11:31:30151
philipel2fee4d62018-03-21 15:52:13152 sources = [
153 "video_stream_decoder_impl.cc",
154 "video_stream_decoder_impl.h",
155 ]
156
157 deps = [
Jonas Orelande62c2f22022-03-29 09:04:48158 "../api:field_trials_view",
Artem Titovd15a5752021-02-10 13:31:24159 "../api:sequence_checker",
Danil Chapovalov471783f2019-03-11 13:26:02160 "../api/task_queue",
Jonas Orelande02f9ee2022-03-25 11:43:14161 "../api/transport:field_trial_based_config",
Niels Möllerc6ce9c52018-05-11 09:15:30162 "../api/video:encoded_frame",
163 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38164 "../api/video:video_rtp_headers",
Niels Möllerc6ce9c52018-05-11 09:15:30165 "../api/video:video_stream_decoder",
philipel2fee4d62018-03-21 15:52:13166 "../api/video_codecs:video_codecs_api",
Artem Titov94b57c02019-03-21 12:35:10167 "../modules/video_coding",
Evan Shrubsole29d72922022-08-16 11:01:46168 "../modules/video_coding:frame_buffer2",
Rasmus Brandtc4d253c2022-05-25 10:03:35169 "../modules/video_coding/timing:timing_module",
Florent Castelli0af55ba2022-04-04 13:06:30170 "../rtc_base:logging",
Florent Castelli31764092022-04-14 11:41:58171 "../rtc_base:mod_ops",
Florent Castelli45a05992022-04-14 10:18:28172 "../rtc_base:platform_thread",
Danil Chapovalov07a4f2b2019-03-05 18:58:28173 "../rtc_base:rtc_task_queue",
Florent Castellidd837e22022-04-04 15:16:15174 "../rtc_base:timeutils",
Jonas Orelande02f9ee2022-03-25 11:43:14175 "../rtc_base/memory:always_valid_pointer",
Markus Handell265931e2020-07-10 10:23:48176 "../rtc_base/synchronization:mutex",
Artem Titov94b57c02019-03-21 12:35:10177 "../system_wrappers",
philipel2fee4d62018-03-21 15:52:13178 ]
Mirko Bonadei2dcf3482020-06-05 12:30:41179 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
philipel2fee4d62018-03-21 15:52:13180}
181
Mirko Bonadei86d053c2019-10-17 19:32:04182rtc_library("frame_dumping_decoder") {
Erik Språng96965ae2018-10-23 13:42:37183 visibility = [ "*" ]
184
185 sources = [
186 "frame_dumping_decoder.cc",
187 "frame_dumping_decoder.h",
188 ]
189
190 deps = [
191 "../api/video:encoded_frame",
Yves Gerey3e707812018-11-28 15:47:49192 "../api/video:encoded_image",
Erik Språng96965ae2018-10-23 13:42:37193 "../api/video_codecs:video_codecs_api",
Artem Titov94b57c02019-03-21 12:35:10194 "../modules/video_coding",
Erik Språng96965ae2018-10-23 13:42:37195 "../modules/video_coding:video_codec_interface",
Erik Språng96965ae2018-10-23 13:42:37196 "../modules/video_coding:video_coding_utility",
Markus Handell1c2f6372019-08-20 18:21:37197 "../rtc_base/system:file_wrapper",
Erik Språng96965ae2018-10-23 13:42:37198 ]
199}
200
Markus Handellb4e96d42021-11-05 11:00:55201rtc_library("frame_cadence_adapter") {
202 visibility = [ "*" ]
203 sources = [
204 "frame_cadence_adapter.cc",
205 "frame_cadence_adapter.h",
206 ]
207
208 deps = [
Jonas Orelande62c2f22022-03-29 09:04:48209 "../api:field_trials_view",
Markus Handellb4e96d42021-11-05 11:00:55210 "../api:sequence_checker",
Markus Handell28c71802021-11-08 09:11:55211 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45212 "../api/task_queue:pending_task_safety_flag",
Markus Handell29dd8d82021-12-15 11:19:15213 "../api/units:time_delta",
Markus Handell9d04a782022-05-12 16:38:57214 "../api/units:timestamp",
Markus Handellb4e96d42021-11-05 11:00:55215 "../api/video:video_frame",
Markus Handell8d87c462021-12-16 10:37:16216 "../rtc_base:checks",
Markus Handellb4e96d42021-11-05 11:00:55217 "../rtc_base:logging",
218 "../rtc_base:macromagic",
Florent Castellif4db3512022-04-14 11:38:05219 "../rtc_base:race_checker",
Florent Castelli6bb1fd32022-04-19 13:58:39220 "../rtc_base:rate_statistics",
Florent Castellidd837e22022-04-04 15:16:15221 "../rtc_base:timeutils",
Markus Handellb4e96d42021-11-05 11:00:55222 "../rtc_base/synchronization:mutex",
Markus Handellee225432021-11-29 11:35:12223 "../rtc_base/system:no_unique_address",
Markus Handellf7f0b212022-05-24 16:39:39224 "../rtc_base/task_utils:repeating_task",
Markus Handell9a478b52021-11-18 15:07:01225 "../system_wrappers",
Markus Handellb4e96d42021-11-05 11:00:55226 "../system_wrappers:field_trial",
227 "../system_wrappers:metrics",
228 ]
Markus Handell2e0f4f02021-12-21 18:14:58229 absl_deps = [
230 "//third_party/abseil-cpp/absl/algorithm:container",
231 "//third_party/abseil-cpp/absl/base:core_headers",
232 ]
Markus Handellb4e96d42021-11-05 11:00:55233}
234
Evan Shrubsole476f18d22022-08-15 15:21:16235rtc_library("video_stream_buffer_controller") {
Evan Shrubsole9d290262021-12-15 13:33:40236 sources = [
Evan Shrubsole476f18d22022-08-15 15:21:16237 "video_stream_buffer_controller.cc",
238 "video_stream_buffer_controller.h",
Evan Shrubsole9d290262021-12-15 13:33:40239 ]
240 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26241 ":decode_synchronizer",
Evan Shrubsole9a999052021-12-12 14:27:00242 ":frame_decode_timing",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26243 ":task_queue_frame_decode_scheduler",
Evan Shrubsole9a999052021-12-12 14:27:00244 ":video_receive_stream_timeout_tracker",
Jonas Orelande62c2f22022-03-29 09:04:48245 "../api:field_trials_view",
Evan Shrubsole9a999052021-12-12 14:27:00246 "../api:sequence_checker",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26247 "../api/metronome",
Evan Shrubsole9d290262021-12-15 13:33:40248 "../api/task_queue",
Evan Shrubsole13e42a82022-03-07 12:21:51249 "../api/units:data_size",
Evan Shrubsole9d290262021-12-15 13:33:40250 "../api/video:encoded_frame",
philipel8615bf02022-05-05 13:12:13251 "../api/video:frame_buffer",
Evan Shrubsoled4ff12f2022-03-01 09:16:11252 "../api/video:video_rtp_headers",
Evan Shrubsole9d290262021-12-15 13:33:40253 "../modules/video_coding",
Evan Shrubsole9a999052021-12-12 14:27:00254 "../modules/video_coding:frame_helpers",
Evan Shrubsole9d290262021-12-15 13:33:40255 "../modules/video_coding:video_codec_interface",
Rasmus Brandt23772262022-05-23 07:53:15256 "../modules/video_coding/timing:inter_frame_delay",
Rasmus Brandt10944e62022-05-25 08:12:42257 "../modules/video_coding/timing:jitter_estimator",
Rasmus Brandtc4d253c2022-05-25 10:03:35258 "../modules/video_coding/timing:timing_module",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26259 "../rtc_base:checks",
Evan Shrubsole9a999052021-12-12 14:27:00260 "../rtc_base:logging",
261 "../rtc_base:macromagic",
Evan Shrubsole4c269322022-08-02 08:57:04262 "../rtc_base/experiments:rtt_mult_experiment",
Evan Shrubsole9d290262021-12-15 13:33:40263 "../system_wrappers",
Evan Shrubsole9a999052021-12-12 14:27:00264 "../system_wrappers:field_trial",
265 ]
266 absl_deps = [
Oleh Prypin752436f2022-06-23 22:51:28267 "//third_party/abseil-cpp/absl/base:core_headers",
Evan Shrubsole9a999052021-12-12 14:27:00268 "//third_party/abseil-cpp/absl/functional:bind_front",
269 "//third_party/abseil-cpp/absl/types:optional",
270 ]
271}
272
Evan Shrubsole6cd6d8e2022-02-11 14:30:26273rtc_source_set("frame_decode_scheduler") {
274 sources = [ "frame_decode_scheduler.h" ]
275 deps = [
276 ":frame_decode_timing",
277 "../api/units:timestamp",
278 ]
279 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
280}
281
282rtc_library("task_queue_frame_decode_scheduler") {
Evan Shrubsole9a999052021-12-12 14:27:00283 sources = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26284 "task_queue_frame_decode_scheduler.cc",
285 "task_queue_frame_decode_scheduler.h",
Evan Shrubsole9a999052021-12-12 14:27:00286 ]
287 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26288 ":frame_decode_scheduler",
Evan Shrubsole9a999052021-12-12 14:27:00289 ":frame_decode_timing",
290 "../api:sequence_checker",
291 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45292 "../api/task_queue:pending_task_safety_flag",
Evan Shrubsole9a999052021-12-12 14:27:00293 "../api/units:timestamp",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26294 "../rtc_base:checks",
Evan Shrubsole9a999052021-12-12 14:27:00295 "../system_wrappers",
Evan Shrubsole9d290262021-12-15 13:33:40296 ]
297 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
298}
299
Evan Shrubsole9a999052021-12-12 14:27:00300rtc_library("frame_decode_timing") {
301 sources = [
302 "frame_decode_timing.cc",
303 "frame_decode_timing.h",
304 ]
305 deps = [
306 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45307 "../api/task_queue:pending_task_safety_flag",
Evan Shrubsolef7a19372022-02-14 13:05:10308 "../api/units:time_delta",
Rasmus Brandtc4d253c2022-05-25 10:03:35309 "../modules/video_coding/timing:timing_module",
Evan Shrubsole9a999052021-12-12 14:27:00310 "../rtc_base:logging",
Evan Shrubsole9a999052021-12-12 14:27:00311 "../system_wrappers",
312 ]
313 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
314}
315
316rtc_library("video_receive_stream_timeout_tracker") {
317 sources = [
318 "video_receive_stream_timeout_tracker.cc",
319 "video_receive_stream_timeout_tracker.h",
320 ]
321 deps = [
322 "../api/task_queue",
323 "../api/units:time_delta",
Evan Shrubsolea1d3ada2022-06-16 11:52:09324 "../api/units:timestamp",
Evan Shrubsole4d3ba772022-06-22 14:32:36325 "../rtc_base:logging",
Evan Shrubsole9a999052021-12-12 14:27:00326 "../rtc_base/task_utils:repeating_task",
327 "../system_wrappers",
328 ]
329}
330
Evan Shrubsole6cd6d8e2022-02-11 14:30:26331rtc_library("decode_synchronizer") {
332 sources = [
333 "decode_synchronizer.cc",
334 "decode_synchronizer.h",
335 ]
336 deps = [
337 ":frame_decode_scheduler",
338 ":frame_decode_timing",
339 "../api:sequence_checker",
340 "../api/metronome",
341 "../api/task_queue",
342 "../api/units:time_delta",
343 "../api/units:timestamp",
344 "../rtc_base:checks",
345 "../rtc_base:logging",
346 "../rtc_base:macromagic",
347 ]
348 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
349}
350
Mirko Bonadei86d053c2019-10-17 19:32:04351rtc_library("video_stream_encoder_impl") {
Niels Möller213618e2018-07-24 07:29:58352 visibility = [ "*" ]
353
354 # visibility = [ "../api/video:video_stream_encoder_create" ]
Niels Möller213618e2018-07-24 07:29:58355 sources = [
Åsa Perssonc5a74ff2020-09-20 15:50:00356 "alignment_adjuster.cc",
357 "alignment_adjuster.h",
Erik Språng7ca375c2019-02-06 15:20:17358 "encoder_bitrate_adjuster.cc",
359 "encoder_bitrate_adjuster.h",
360 "encoder_overshoot_detector.cc",
361 "encoder_overshoot_detector.h",
Ilya Nikolaevskiy2ebf5232019-05-13 14:13:36362 "frame_encode_metadata_writer.cc",
363 "frame_encode_metadata_writer.h",
Henrik Boströmce0ea492020-01-13 10:27:18364 "video_source_sink_controller.cc",
365 "video_source_sink_controller.h",
Niels Möller213618e2018-07-24 07:29:58366 "video_stream_encoder.cc",
367 "video_stream_encoder.h",
368 ]
369
Niels Möller213618e2018-07-24 07:29:58370 deps = [
Markus Handellb4e96d42021-11-05 11:00:55371 ":frame_cadence_adapter",
Jonas Orelande62c2f22022-03-29 09:04:48372 "../api:field_trials_view",
Henrik Boströmb08882b2020-01-07 09:11:17373 "../api:rtp_parameters",
Artem Titovd15a5752021-02-10 13:31:24374 "../api:sequence_checker",
Henrik Boströme2e8c172020-06-03 07:24:06375 "../api/adaptation:resource_adaptation_api",
Artem Titovc374d112022-06-16 19:27:45376 "../api/task_queue:pending_task_safety_flag",
Henrik Boström07b17df2020-01-15 10:42:12377 "../api/task_queue:task_queue",
Erik Språng7ca375c2019-02-06 15:20:17378 "../api/units:data_rate",
Niels Möller4dc66c52018-10-05 12:17:58379 "../api/video:encoded_image",
philipel6daa3042022-04-11 08:48:28380 "../api/video:render_resolution",
Evan Shrubsolece0a11d2020-04-16 09:36:55381 "../api/video:video_adaptation",
Erik Språng7ca375c2019-02-06 15:20:17382 "../api/video:video_bitrate_allocation",
Niels Möller213618e2018-07-24 07:29:58383 "../api/video:video_bitrate_allocator",
Jiawei Ouc2ebe212018-11-08 18:02:56384 "../api/video:video_bitrate_allocator_factory",
Evan Shrubsolecc62b162019-09-09 09:26:45385 "../api/video:video_codec_constants",
Niels Möller213618e2018-07-24 07:29:58386 "../api/video:video_frame",
Per Kjellandera9434842020-10-15 15:53:22387 "../api/video:video_layers_allocation",
Chen Xing5d24b162019-06-10 10:59:38388 "../api/video:video_rtp_headers",
Niels Möller213618e2018-07-24 07:29:58389 "../api/video:video_stream_encoder",
390 "../api/video_codecs:video_codecs_api",
Henrik Boström382cc6d2020-01-07 09:15:04391 "../call/adaptation:resource_adaptation",
Artem Titov94b57c02019-03-21 12:35:10392 "../common_video",
Erik Språng6a7baa72019-02-26 17:31:00393 "../modules:module_api_public",
Niels Möller213618e2018-07-24 07:29:58394 "../modules/video_coding",
Erik Språng6a7baa72019-02-26 17:31:00395 "../modules/video_coding:video_codec_interface",
Niels Möller213618e2018-07-24 07:29:58396 "../modules/video_coding:video_coding_utility",
Sergey Silkin8b9b5f92018-12-10 08:28:53397 "../modules/video_coding:webrtc_vp9_helpers",
Zhaoliang Ma528e4892021-11-12 05:05:07398 "../modules/video_coding/svc:scalability_structures",
Danil Chapovalov5219c6f2021-07-27 10:48:50399 "../modules/video_coding/svc:svc_rate_allocator",
Niels Möller213618e2018-07-24 07:29:58400 "../rtc_base:checks",
401 "../rtc_base:criticalsection",
Florent Castellia30aef32022-04-19 15:47:13402 "../rtc_base:event_tracer",
Florent Castelliaa6d05d2022-04-14 11:13:56403 "../rtc_base:location",
Niels Möller213618e2018-07-24 07:29:58404 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46405 "../rtc_base:macromagic",
Florent Castellif4db3512022-04-14 11:38:05406 "../rtc_base:race_checker",
Florent Castelli6bb1fd32022-04-19 13:58:39407 "../rtc_base:rate_statistics",
Florent Castellif86f6f92022-04-05 00:54:12408 "../rtc_base:refcount",
Niels Möller213618e2018-07-24 07:29:58409 "../rtc_base:rtc_event",
410 "../rtc_base:rtc_numerics",
411 "../rtc_base:rtc_task_queue",
Florent Castellie10a9f62022-04-04 15:04:37412 "../rtc_base:safe_conversions",
Florent Castelli57aa81b2022-04-04 15:14:02413 "../rtc_base:stringutils",
Niels Möller213618e2018-07-24 07:29:58414 "../rtc_base:timeutils",
Erik Språng6a7baa72019-02-26 17:31:00415 "../rtc_base/experiments:alr_experiment",
Åsa Perssonf3d828e2019-05-06 10:22:49416 "../rtc_base/experiments:balanced_degradation_settings",
Åsa Persson258e9892021-02-25 09:39:51417 "../rtc_base/experiments:encoder_info_settings",
Niels Möllereea92882019-04-25 06:44:04418 "../rtc_base/experiments:field_trial_parser",
Åsa Perssone644a032019-11-08 14:56:00419 "../rtc_base/experiments:quality_rampup_experiment",
Åsa Persson139f4dc2019-08-02 07:29:58420 "../rtc_base/experiments:quality_scaler_settings",
Niels Möller213618e2018-07-24 07:29:58421 "../rtc_base/experiments:quality_scaling_experiment",
Erik Språng7ca375c2019-02-06 15:20:17422 "../rtc_base/experiments:rate_control_settings",
Markus Handella3765182020-07-08 11:13:32423 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:42424 "../rtc_base/system:no_unique_address",
Sebastian Janssonecb68972019-01-18 09:30:54425 "../rtc_base/task_utils:repeating_task",
Niels Möllerfe407b72019-09-10 08:48:48426 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10427 "../system_wrappers:field_trial",
Markus Handell8935a7e2021-10-19 11:12:36428 "../system_wrappers:metrics",
Henrik Boströmefbec9a2020-03-06 09:41:25429 "adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41430 ]
431 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27432 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov64f1f3f2020-01-16 13:41:10433 "//third_party/abseil-cpp/absl/base:core_headers",
Danil Chapovalov95eeaa72022-07-06 08:14:29434 "//third_party/abseil-cpp/absl/cleanup",
Niels Möller213618e2018-07-24 07:29:58435 "//third_party/abseil-cpp/absl/types:optional",
436 ]
437}
438
Rasmus Brandtfbf66dd2022-05-23 07:53:32439rtc_library("unique_timestamp_counter") {
440 sources = [
441 "unique_timestamp_counter.cc",
442 "unique_timestamp_counter.h",
443 ]
444}
445
Peter Boström02083222016-06-14 10:52:54446if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 19:32:04447 rtc_library("video_mocks") {
Sebastian Jansson652dc912018-04-19 15:09:15448 testonly = true
Danil Chapovalov64f1f3f2020-01-16 13:41:10449 sources = [ "test/mock_video_stream_encoder.h" ]
Sebastian Jansson652dc912018-04-19 15:09:15450 deps = [
Niels Möller213618e2018-07-24 07:29:58451 "../api/video:video_stream_encoder",
Sebastian Jansson652dc912018-04-19 15:09:15452 "../test:test_support",
453 ]
454 }
Andrey Logvine7c79fd2021-02-01 09:56:37455 if (!build_with_chromium) {
456 rtc_library("video_quality_test") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09457 testonly = true
Andrey Logvine7c79fd2021-02-01 09:56:37458
459 # Only targets in this file and api/ can depend on this.
460 visibility = [
461 ":*",
462 "../api:create_video_quality_test_fixture_api",
463 ]
464 sources = [
465 "video_analyzer.cc",
466 "video_analyzer.h",
467 "video_quality_test.cc",
468 "video_quality_test.h",
469 ]
470 deps = [
471 ":frame_dumping_decoder",
472 "../api:create_frame_generator",
473 "../api:fec_controller_api",
474 "../api:frame_generator_api",
475 "../api:libjingle_peerconnection_api",
476 "../api:rtc_event_log_output_file",
477 "../api:test_dependency_factory",
478 "../api:video_quality_test_fixture_api",
479 "../api/numerics",
480 "../api/rtc_event_log:rtc_event_log_factory",
481 "../api/task_queue",
482 "../api/task_queue:default_task_queue_factory",
483 "../api/video:builtin_video_bitrate_allocator_factory",
484 "../api/video:video_bitrate_allocator_factory",
485 "../api/video:video_frame",
486 "../api/video:video_rtp_headers",
487 "../api/video_codecs:video_codecs_api",
488 "../call:fake_network",
489 "../call:simulated_network",
490 "../common_video",
491 "../media:rtc_audio_video",
492 "../media:rtc_encoder_simulcast_proxy",
493 "../media:rtc_internal_video_codecs",
494 "../media:rtc_media_base",
495 "../modules/audio_device:audio_device_api",
496 "../modules/audio_device:audio_device_module_from_input_and_output",
497 "../modules/audio_device:windows_core_audio_utility",
498 "../modules/audio_mixer:audio_mixer_impl",
499 "../modules/rtp_rtcp",
500 "../modules/rtp_rtcp:rtp_rtcp_format",
501 "../modules/video_coding",
502 "../modules/video_coding:video_coding_utility",
503 "../modules/video_coding:webrtc_h264",
504 "../modules/video_coding:webrtc_multiplex",
505 "../modules/video_coding:webrtc_vp8",
506 "../modules/video_coding:webrtc_vp9",
Florent Castelli4467ad72022-04-04 13:18:46507 "../rtc_base:macromagic",
Florent Castelli45a05992022-04-14 10:18:28508 "../rtc_base:platform_thread",
Andrey Logvine7c79fd2021-02-01 09:56:37509 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:52510 "../rtc_base:rtc_event",
Andrey Logvine7c79fd2021-02-01 09:56:37511 "../rtc_base:rtc_numerics",
Florent Castelli57aa81b2022-04-04 15:14:02512 "../rtc_base:stringutils",
Andrey Logvine7c79fd2021-02-01 09:56:37513 "../rtc_base:task_queue_for_test",
Florent Castellidd837e22022-04-04 15:16:15514 "../rtc_base:timeutils",
Andrey Logvine7c79fd2021-02-01 09:56:37515 "../rtc_base/synchronization:mutex",
516 "../rtc_base/task_utils:repeating_task",
517 "../system_wrappers",
518 "../test:fake_video_codecs",
519 "../test:fileutils",
520 "../test:perf_test",
521 "../test:platform_video_capturer",
522 "../test:rtp_test_utils",
523 "../test:test_common",
524 "../test:test_renderer",
525 "../test:test_support",
526 "../test:test_support_test_artifacts",
527 "../test:video_test_common",
528 "../test:video_test_support",
529 ]
530 absl_deps = [
531 "//third_party/abseil-cpp/absl/algorithm:container",
532 "//third_party/abseil-cpp/absl/flags:flag",
533 "//third_party/abseil-cpp/absl/flags:parse",
534 ]
535
536 if (is_mac || is_ios) {
537 deps += [ "../test:video_test_mac" ]
538 }
Florent Castelli15a3c3f2022-04-27 08:33:27539 if (is_win) {
540 deps += [ "../rtc_base/win:scoped_com_initializer" ]
541 }
Kári Tristan Helgasonede7cb22019-03-06 09:34:09542 }
Andrey Logvine7c79fd2021-02-01 09:56:37543
544 rtc_library("video_full_stack_tests") {
Kári Tristan Helgasonede7cb22019-03-06 09:34:09545 testonly = true
Andrey Logvine7c79fd2021-02-01 09:56:37546
547 sources = [ "full_stack_tests.cc" ]
548 deps = [
549 ":video_quality_test",
550 "../api:simulated_network_api",
551 "../api:test_dependency_factory",
552 "../api:video_quality_test_fixture_api",
553 "../api/video_codecs:video_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37554 "../modules/pacing",
555 "../modules/video_coding:webrtc_vp9",
556 "../rtc_base/experiments:alr_experiment",
557 "../system_wrappers:field_trial",
558 "../test:field_trial",
559 "../test:fileutils",
560 "../test:test_common",
561 "../test:test_support",
562 "//testing/gtest",
563 ]
564 absl_deps = [
565 "//third_party/abseil-cpp/absl/flags:flag",
566 "//third_party/abseil-cpp/absl/flags:parse",
567 "//third_party/abseil-cpp/absl/types:optional",
568 ]
Kári Tristan Helgasonede7cb22019-03-06 09:34:09569 }
Kári Tristan Helgasonede7cb22019-03-06 09:34:09570
Andrey Logvine7c79fd2021-02-01 09:56:37571 rtc_library("video_pc_full_stack_tests") {
572 testonly = true
kjellandera3cac052016-10-24 08:52:39573
Andrey Logvine7c79fd2021-02-01 09:56:37574 sources = [ "pc_full_stack_tests.cc" ]
575 deps = [
576 "../api:create_network_emulation_manager",
577 "../api:create_peer_connection_quality_test_frame_generator",
578 "../api:create_peerconnection_quality_test_fixture",
579 "../api:frame_generator_api",
580 "../api:media_stream_interface",
581 "../api:network_emulation_manager_api",
582 "../api:peer_connection_quality_test_fixture_api",
583 "../api:simulated_network_api",
584 "../api:time_controller",
Johannes Kronc3fcee72021-04-19 07:09:26585 "../api/video_codecs:video_codecs_api",
Andrey Logvine7c79fd2021-02-01 09:56:37586 "../call:simulated_network",
Andrey Logvine7c79fd2021-02-01 09:56:37587 "../modules/video_coding:webrtc_vp9",
588 "../system_wrappers:field_trial",
589 "../test:field_trial",
590 "../test:fileutils",
591 "../test:test_support",
592 "../test/pc/e2e:network_quality_metrics_reporter",
593 ]
594 }
kjellandera3cac052016-10-24 08:52:39595
Andrey Logvine7c79fd2021-02-01 09:56:37596 rtc_library("video_loopback_lib") {
597 testonly = true
598 sources = [
599 "video_loopback.cc",
600 "video_loopback.h",
601 ]
602 deps = [
603 ":video_quality_test",
604 "../api:libjingle_peerconnection_api",
605 "../api:simulated_network_api",
606 "../api:video_quality_test_fixture_api",
607 "../api/transport:bitrate_settings",
608 "../api/video_codecs:video_codecs_api",
609 "../rtc_base:checks",
610 "../rtc_base:logging",
611 "../system_wrappers:field_trial",
612 "../test:field_trial",
613 "../test:run_test",
614 "../test:run_test_interface",
615 "../test:test_common",
616 "../test:test_renderer",
617 "../test:test_support",
618 "//testing/gtest",
619 ]
620 absl_deps = [
621 "//third_party/abseil-cpp/absl/flags:flag",
622 "//third_party/abseil-cpp/absl/flags:parse",
623 "//third_party/abseil-cpp/absl/types:optional",
624 ]
625 }
626
627 if (is_mac) {
628 mac_app_bundle("video_loopback") {
629 testonly = true
630 sources = [ "video_loopback_main.mm" ]
631 info_plist = "../test/mac/Info.plist"
632 deps = [ ":video_loopback_lib" ]
633 }
634 } else {
635 rtc_executable("video_loopback") {
636 testonly = true
637 sources = [ "video_loopback_main.cc" ]
638 deps = [ ":video_loopback_lib" ]
639 }
640 }
641
642 rtc_executable("screenshare_loopback") {
643 testonly = true
644 sources = [ "screenshare_loopback.cc" ]
645
646 deps = [
647 ":video_quality_test",
648 "../api:libjingle_peerconnection_api",
649 "../api:simulated_network_api",
650 "../api:video_quality_test_fixture_api",
651 "../api/transport:bitrate_settings",
652 "../api/video_codecs:video_codecs_api",
653 "../rtc_base:checks",
654 "../rtc_base:logging",
655 "../rtc_base:stringutils",
656 "../system_wrappers:field_trial",
657 "../test:field_trial",
658 "../test:run_test",
659 "../test:run_test_interface",
660 "../test:test_common",
661 "../test:test_renderer",
662 "../test:test_support",
663 "//third_party/abseil-cpp/absl/flags:flag",
664 "//third_party/abseil-cpp/absl/flags:parse",
665 "//third_party/abseil-cpp/absl/types:optional",
666 ]
667 }
668
669 rtc_executable("sv_loopback") {
670 testonly = true
671 sources = [ "sv_loopback.cc" ]
672 deps = [
673 ":video_quality_test",
674 "../api:libjingle_peerconnection_api",
675 "../api:simulated_network_api",
676 "../api:video_quality_test_fixture_api",
677 "../api/transport:bitrate_settings",
678 "../api/video_codecs:video_codecs_api",
679 "../rtc_base:checks",
680 "../rtc_base:logging",
681 "../rtc_base:stringutils",
682 "../system_wrappers:field_trial",
683 "../test:field_trial",
684 "../test:run_test",
685 "../test:run_test_interface",
686 "../test:test_common",
687 "../test:test_renderer",
688 "../test:test_support",
689 "//testing/gtest",
690 "//third_party/abseil-cpp/absl/flags:flag",
691 "//third_party/abseil-cpp/absl/flags:parse",
692 "//third_party/abseil-cpp/absl/types:optional",
693 ]
694 }
Ilya Nikolaevskiy255d1cd2017-12-21 17:02:59695 }
696
Peter Boström02083222016-06-14 10:52:54697 # TODO(pbos): Rename test suite.
Mirko Bonadei86d053c2019-10-17 19:32:04698 rtc_library("video_tests") {
Peter Boström02083222016-06-14 10:52:54699 testonly = true
kjellandere0629c02017-04-25 11:04:50700
hta9aa96882016-12-06 13:36:03701 defines = []
Peter Boström02083222016-06-14 10:52:54702 sources = [
Åsa Perssonc5a74ff2020-09-20 15:50:00703 "alignment_adjuster_unittest.cc",
Benjamin Wright00765292018-12-01 00:18:26704 "buffered_frame_decryptor_unittest.cc",
Tommi822a8742020-05-10 22:42:30705 "call_stats2_unittest.cc",
Åsa Perssoncb7eddb2018-11-05 13:11:44706 "cpu_scaling_tests.cc",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26707 "decode_synchronizer_unittest.cc",
Erik Språng7ca375c2019-02-06 15:20:17708 "encoder_bitrate_adjuster_unittest.cc",
Erik Språng7ca375c2019-02-06 15:20:17709 "encoder_overshoot_detector_unittest.cc",
Elad Alon14d1c9d2019-04-08 12:16:17710 "encoder_rtcp_feedback_unittest.cc",
Sebastian Janssonc5017132018-02-02 15:24:16711 "end_to_end_tests/bandwidth_tests.cc",
712 "end_to_end_tests/call_operation_tests.cc",
713 "end_to_end_tests/codec_tests.cc",
714 "end_to_end_tests/config_tests.cc",
715 "end_to_end_tests/extended_reports_tests.cc",
716 "end_to_end_tests/fec_tests.cc",
Benjamin Wright150a9072018-10-26 22:43:06717 "end_to_end_tests/frame_encryption_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16718 "end_to_end_tests/histogram_tests.cc",
Åsa Persson96c9fc42018-05-23 10:47:20719 "end_to_end_tests/multi_codec_receive_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16720 "end_to_end_tests/multi_stream_tester.cc",
721 "end_to_end_tests/multi_stream_tester.h",
722 "end_to_end_tests/multi_stream_tests.cc",
723 "end_to_end_tests/network_state_tests.cc",
Åsa Persson4a4273b2021-03-05 15:03:37724 "end_to_end_tests/resolution_bitrate_limits_tests.cc",
Sebastian Janssonc5017132018-02-02 15:24:16725 "end_to_end_tests/retransmission_tests.cc",
726 "end_to_end_tests/rtp_rtcp_tests.cc",
727 "end_to_end_tests/ssrc_tests.cc",
728 "end_to_end_tests/stats_tests.cc",
729 "end_to_end_tests/transport_feedback_tests.cc",
Markus Handellb4e96d42021-11-05 11:00:55730 "frame_cadence_adapter_unittest.cc",
Evan Shrubsole9a999052021-12-12 14:27:00731 "frame_decode_timing_unittest.cc",
Ilya Nikolaevskiy2ebf5232019-05-13 14:13:36732 "frame_encode_metadata_writer_unittest.cc",
Sebastian Janssone92f93f2017-06-22 12:44:04733 "picture_id_tests.cc",
Henrik Boströmce33b6a2019-05-28 15:42:38734 "quality_limitation_reason_tracker_unittest.cc",
Åsa Persson2027b662018-05-02 16:08:06735 "quality_scaling_tests.cc",
palmkvist349092b2016-12-13 10:45:57736 "quality_threshold_unittest.cc",
Tommi74fc5742020-04-27 08:43:06737 "receive_statistics_proxy2_unittest.cc",
Peter Boström02083222016-06-14 10:52:54738 "report_block_stats_unittest.cc",
Tommid3807da2020-05-22 15:36:36739 "rtp_video_stream_receiver2_unittest.cc",
Marina Ciocea78964c12020-03-10 20:31:52740 "rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc",
Peter Boström02083222016-06-14 10:52:54741 "send_delay_stats_unittest.cc",
742 "send_statistics_proxy_unittest.cc",
743 "stats_counter_unittest.cc",
744 "stream_synchronization_unittest.cc",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26745 "task_queue_frame_decode_scheduler_unittest.cc",
Rasmus Brandtfbf66dd2022-05-23 07:53:32746 "unique_timestamp_counter_unittest.cc",
Tommiae4d0972020-05-18 06:45:38747 "video_receive_stream2_unittest.cc",
Evan Shrubsole9a999052021-12-12 14:27:00748 "video_receive_stream_timeout_tracker_unittest.cc",
Sebastian Jansson652dc912018-04-19 15:09:15749 "video_send_stream_impl_unittest.cc",
Peter Boström02083222016-06-14 10:52:54750 "video_send_stream_tests.cc",
Henrik Boströmce0ea492020-01-13 10:27:18751 "video_source_sink_controller_unittest.cc",
Evan Shrubsole476f18d22022-08-15 15:21:16752 "video_stream_buffer_controller_unittest.cc",
philipel539f9b32020-01-09 15:12:25753 "video_stream_decoder_impl_unittest.cc",
mflodmancc3d4422017-08-03 15:27:51754 "video_stream_encoder_unittest.cc",
Peter Boström02083222016-06-14 10:52:54755 ]
756 deps = [
Evan Shrubsole6cd6d8e2022-02-11 14:30:26757 ":decode_synchronizer",
Markus Handellb4e96d42021-11-05 11:00:55758 ":frame_cadence_adapter",
Evan Shrubsole9a999052021-12-12 14:27:00759 ":frame_decode_scheduler",
760 ":frame_decode_timing",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26761 ":task_queue_frame_decode_scheduler",
Rasmus Brandtfbf66dd2022-05-23 07:53:32762 ":unique_timestamp_counter",
Peter Boström02083222016-06-14 10:52:54763 ":video",
Sebastian Jansson652dc912018-04-19 15:09:15764 ":video_mocks",
Evan Shrubsole9a999052021-12-12 14:27:00765 ":video_receive_stream_timeout_tracker",
Evan Shrubsole476f18d22022-08-15 15:21:16766 ":video_stream_buffer_controller",
philipel539f9b32020-01-09 15:12:25767 ":video_stream_decoder_impl",
Niels Möller213618e2018-07-24 07:29:58768 ":video_stream_encoder_impl",
Artem Titov33f9d2b2019-12-05 14:59:00769 "../api:create_frame_generator",
Benjamin Wright150a9072018-10-26 22:43:06770 "../api:fake_frame_decryptor",
771 "../api:fake_frame_encryptor",
Markus Handell8e4197b2022-05-30 13:45:28772 "../api:field_trials_view",
Artem Titov33f9d2b2019-12-05 14:59:00773 "../api:frame_generator_api",
Yves Gerey3e707812018-11-28 15:47:49774 "../api:libjingle_peerconnection_api",
Elad Alon45befc52019-07-02 09:20:09775 "../api:mock_fec_controller_override",
Benjamin Wright00765292018-12-01 00:18:26776 "../api:mock_frame_decryptor",
Henrik Boström56db9ff2021-03-24 08:06:45777 "../api:mock_video_codec_factory",
Danil Chapovalov9cd4d492021-08-03 12:59:00778 "../api:mock_video_decoder",
philipel9b058032020-02-10 10:30:00779 "../api:mock_video_encoder",
Niels Mölleref1052a2019-03-20 07:40:23780 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:28781 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:48782 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24783 "../api:sequence_checker",
Artem Titov46c4e602018-08-17 12:26:54784 "../api:simulated_network_api",
Evan Shrubsole44be5792022-04-26 14:24:41785 "../api:time_controller",
Marina Ciocea78964c12020-03-10 20:31:52786 "../api:transport_api",
Henrik Boströme2e8c172020-06-03 07:24:06787 "../api/adaptation:resource_adaptation_api",
Mirko Bonadeieaaaf412019-09-13 12:42:15788 "../api/crypto:options",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26789 "../api/metronome/test:fake_metronome",
Danil Chapovalov83bbe912019-08-07 10:24:53790 "../api/rtc_event_log",
Danil Chapovalov44db4362019-09-30 02:16:28791 "../api/task_queue",
Danil Chapovalov22ed3662019-03-19 18:39:49792 "../api/task_queue:default_task_queue_factory",
Danil Chapovalov99b71df2018-10-26 13:57:48793 "../api/test/video:function_video_factory",
Erik Språng7ca375c2019-02-06 15:20:17794 "../api/units:data_rate",
Evan Shrubsole9a999052021-12-12 14:27:00795 "../api/units:frequency",
Evan Shrubsole9d290262021-12-15 13:33:40796 "../api/units:time_delta",
Henrik Boström23aff9b2019-05-20 13:15:38797 "../api/units:timestamp",
Jiawei Ouc2ebe212018-11-08 18:02:56798 "../api/video:builtin_video_bitrate_allocator_factory",
Niels Möller4dc66c52018-10-05 12:17:58799 "../api/video:encoded_image",
Evan Shrubsole44be5792022-04-26 14:24:41800 "../api/video:recordable_encoded_frame",
Evan Shrubsolece0a11d2020-04-16 09:36:55801 "../api/video:video_adaptation",
Erik Språngf93eda12019-01-16 16:10:57802 "../api/video:video_bitrate_allocation",
Niels Möllerc6ce9c52018-05-11 09:15:30803 "../api/video:video_frame",
Johannes Krond51ec582019-04-15 11:32:41804 "../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 10:59:38805 "../api/video:video_rtp_headers",
Evan Shrubsole44be5792022-04-26 14:24:41806 "../api/video/test:video_frame_matchers",
mbonadei9087d492017-04-25 07:35:35807 "../api/video_codecs:video_codecs_api",
Elad Aloncde8ab22019-03-20 10:56:20808 "../api/video_codecs:vp8_temporal_layers_factory",
mbonadei9087d492017-04-25 07:35:35809 "../call:call_interfaces",
Artem Titovdd2eebe2018-08-20 11:27:45810 "../call:fake_network",
Sebastian Jansson652dc912018-04-19 15:09:15811 "../call:mock_bitrate_allocator",
eladalone2173d92017-07-28 17:05:45812 "../call:mock_rtp_interfaces",
Yves Gerey3e707812018-11-28 15:47:49813 "../call:rtp_interfaces",
nisse0f15f922017-06-21 08:05:22814 "../call:rtp_receiver",
sprangdb2a9fc2017-08-09 13:42:32815 "../call:rtp_sender",
Artem Titovdd2eebe2018-08-20 11:27:45816 "../call:simulated_network",
Yves Gerey3e707812018-11-28 15:47:49817 "../call:simulated_packet_receiver",
aleloi440b6d92017-08-22 12:43:23818 "../call:video_stream_api",
Henrik Boströmce0ea492020-01-13 10:27:18819 "../call/adaptation:resource_adaptation",
Evan Shrubsoleaa6fbc12020-02-25 15:26:01820 "../call/adaptation:resource_adaptation_test_utilities",
mbonadei9087d492017-04-25 07:35:35821 "../common_video",
Johannes Kronf1ab9b92018-12-14 09:14:07822 "../common_video/test:utilities",
Mirko Bonadei75baa492018-01-11 16:07:30823 "../media:rtc_audio_video",
Anders Carlssona114c882018-01-04 14:10:22824 "../media:rtc_internal_video_codecs",
brandtr5e171752017-05-23 10:32:16825 "../media:rtc_media",
magjedceecea42016-11-28 15:20:21826 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:35827 "../media:rtc_media_tests_utils",
Jonathan Yu9a5da492018-10-19 07:51:18828 "../media:rtc_simulcast_encoder_adapter",
Danil Chapovalov7c067772019-10-07 10:56:24829 "../modules:module_api_public",
mbonadei9087d492017-04-25 07:35:35830 "../modules/pacing",
831 "../modules/rtp_rtcp",
kjellandere0629c02017-04-25 11:04:50832 "../modules/rtp_rtcp:mock_rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 06:51:33833 "../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei9087d492017-04-25 07:35:35834 "../modules/video_coding",
Sergey Silkin86684962018-03-28 17:32:37835 "../modules/video_coding:codec_globals_headers",
Markus Handell269ac812019-12-03 13:31:45836 "../modules/video_coding:encoded_frame",
philipel10dc1a62021-09-15 08:45:43837 "../modules/video_coding:packet_buffer",
Patrik Höglund99175c62018-01-08 10:05:10838 "../modules/video_coding:video_codec_interface",
mbonadei9087d492017-04-25 07:35:35839 "../modules/video_coding:video_coding_utility",
840 "../modules/video_coding:webrtc_h264",
Emircan Uysaleref76e5a2018-02-12 21:36:41841 "../modules/video_coding:webrtc_multiplex",
Sergio Garcia Murillo43800f92018-06-21 14:16:38842 "../modules/video_coding:webrtc_vp8",
mbonadei9087d492017-04-25 07:35:35843 "../modules/video_coding:webrtc_vp9",
Erik Språng7444b192021-06-02 12:02:13844 "../modules/video_coding:webrtc_vp9_helpers",
philipel09a28482022-05-25 07:47:06845 "../modules/video_coding/codecs/av1:libaom_av1_encoder",
Niels Möller79d566b2022-04-29 09:03:13846 "../modules/video_coding/svc:scalability_mode_util",
Asa Perssoncde992d2022-05-16 20:37:34847 "../modules/video_coding/svc:scalability_structures",
848 "../modules/video_coding/svc:scalable_video_controller",
Rasmus Brandtc4d253c2022-05-25 10:03:35849 "../modules/video_coding/timing:timing_module",
Elad Alon157540a2019-02-08 22:37:52850 "../rtc_base",
Florent Castelliceb7b362022-04-19 15:35:04851 "../rtc_base:byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:42852 "../rtc_base:checks",
Henrik Boström2671dac2020-05-19 14:29:09853 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:30854 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46855 "../rtc_base:macromagic",
Florent Castelli45a05992022-04-14 10:18:28856 "../rtc_base:platform_thread",
Patrik Höglunda8005cf2017-12-13 15:05:42857 "../rtc_base:rate_limiter",
Florent Castelli6bb1fd32022-04-19 13:58:39858 "../rtc_base:rate_statistics",
Florent Castellif86f6f92022-04-05 00:54:12859 "../rtc_base:refcount",
ehmaldonadof6a861a2017-07-19 17:40:47860 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:52861 "../rtc_base:rtc_event",
Bjorn Tereliusa194e582017-10-25 11:07:09862 "../rtc_base:rtc_numerics",
Tommi38c5d932018-03-27 21:11:09863 "../rtc_base:rtc_task_queue",
Florent Castellie10a9f62022-04-04 15:04:37864 "../rtc_base:safe_conversions",
Florent Castelli57aa81b2022-04-04 15:14:02865 "../rtc_base:stringutils",
Danil Chapovalovd26a9162019-03-19 17:08:37866 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01867 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15868 "../rtc_base:timeutils",
Evan Shrubsole9a999052021-12-12 14:27:00869 "../rtc_base/containers:flat_map",
Sebastian Janssoncabe3832018-01-12 09:54:18870 "../rtc_base/experiments:alr_experiment",
Åsa Persson258e9892021-02-25 09:39:51871 "../rtc_base/experiments:encoder_info_settings",
Markus Handell9bbff072020-07-07 12:23:18872 "../rtc_base/synchronization:mutex",
mbonadei9087d492017-04-25 07:35:35873 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10874 "../system_wrappers:field_trial",
875 "../system_wrappers:metrics",
mbonadei9087d492017-04-25 07:35:35876 "../test:direct_transport",
Danil Chapovalovce928172019-04-24 16:17:42877 "../test:encoder_settings",
Evan Shrubsolea0ee64c2022-04-26 08:09:04878 "../test:fake_encoded_frame",
Ilya Nikolaevskiyb0588e62018-08-27 12:12:27879 "../test:fake_video_codecs",
mbonadei9087d492017-04-25 07:35:35880 "../test:field_trial",
Patrik Höglund7696bef2018-03-15 14:05:39881 "../test:fileutils",
Artem Titov33f9d2b2019-12-05 14:59:00882 "../test:frame_utils",
Marina Ciocea1148fd52020-04-29 20:39:13883 "../test:mock_frame_transformer",
Tim Na9526c552020-02-20 19:53:13884 "../test:mock_transport",
Danil Chapovalovce928172019-04-24 16:17:42885 "../test:null_transport",
Edward Lemure66572b2018-01-05 14:34:09886 "../test:perf_test",
mbonadei9087d492017-04-25 07:35:35887 "../test:rtp_test_utils",
Niels Möller65b2d8a2022-05-19 14:06:23888 "../test:run_loop",
Jonas Orelandc7f691a2022-03-09 14:12:07889 "../test:scoped_key_value_config",
mbonadei9087d492017-04-25 07:35:35890 "../test:test_common",
891 "../test:test_support",
892 "../test:video_test_common",
Markus Handell486cc552019-12-03 13:37:28893 "../test/time_controller",
Henrik Boströmefbec9a2020-03-06 09:41:25894 "adaptation:video_adaptation",
Mirko Bonadei2dcf3482020-06-05 12:30:41895 ]
896 absl_deps = [
Steve Antonbd631a02019-03-28 17:51:27897 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov95eeaa72022-07-06 08:14:29898 "//third_party/abseil-cpp/absl/functional:any_invocable",
Evan Shrubsole6cd6d8e2022-02-11 14:30:26899 "//third_party/abseil-cpp/absl/functional:bind_front",
Karl Wiberg918f50c2018-07-05 09:40:33900 "//third_party/abseil-cpp/absl/memory",
Niels Möllerfd0f6b92022-06-09 13:05:47901 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovb9b146c2018-06-15 10:28:07902 "//third_party/abseil-cpp/absl/types:optional",
Evan Shrubsole9a999052021-12-12 14:27:00903 "//third_party/abseil-cpp/absl/types:variant",
Peter Boström02083222016-06-14 10:52:54904 ]
Dan Minor9c686132018-01-15 15:20:00905 if (!build_with_mozilla) {
906 deps += [ "../media:rtc_media_base" ]
907 }
Peter Boström02083222016-06-14 10:52:54908 }
909}