1# 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 9import("../webrtc.gni") 10 11rtc_library("video") { 12 sources = [ 13 "buffered_frame_decryptor.cc", 14 "buffered_frame_decryptor.h", 15 "call_stats.cc", 16 "call_stats.h", 17 "call_stats2.cc", 18 "call_stats2.h", 19 "encoder_rtcp_feedback.cc", 20 "encoder_rtcp_feedback.h", 21 "quality_limitation_reason_tracker.cc", 22 "quality_limitation_reason_tracker.h", 23 "quality_threshold.cc", 24 "quality_threshold.h", 25 "receive_statistics_proxy.cc", 26 "receive_statistics_proxy.h", 27 "receive_statistics_proxy2.cc", 28 "receive_statistics_proxy2.h", 29 "report_block_stats.cc", 30 "report_block_stats.h", 31 "rtp_streams_synchronizer.cc", 32 "rtp_streams_synchronizer.h", 33 "rtp_streams_synchronizer2.cc", 34 "rtp_streams_synchronizer2.h", 35 "rtp_video_stream_receiver.cc", 36 "rtp_video_stream_receiver.h", 37 "rtp_video_stream_receiver2.cc", 38 "rtp_video_stream_receiver2.h", 39 "rtp_video_stream_receiver_frame_transformer_delegate.cc", 40 "rtp_video_stream_receiver_frame_transformer_delegate.h", 41 "send_delay_stats.cc", 42 "send_delay_stats.h", 43 "send_statistics_proxy.cc", 44 "send_statistics_proxy.h", 45 "stats_counter.cc", 46 "stats_counter.h", 47 "stream_synchronization.cc", 48 "stream_synchronization.h", 49 "transport_adapter.cc", 50 "transport_adapter.h", 51 "video_quality_observer.cc", 52 "video_quality_observer.h", 53 "video_quality_observer2.cc", 54 "video_quality_observer2.h", 55 "video_receive_stream.cc", 56 "video_receive_stream.h", 57 "video_receive_stream2.cc", 58 "video_receive_stream2.h", 59 "video_send_stream.cc", 60 "video_send_stream.h", 61 "video_send_stream_impl.cc", 62 "video_send_stream_impl.h", 63 "video_stream_decoder.cc", 64 "video_stream_decoder.h", 65 "video_stream_decoder2.cc", 66 "video_stream_decoder2.h", 67 ] 68 69 deps = [ 70 ":frame_dumping_decoder", 71 "../api:array_view", 72 "../api:fec_controller_api", 73 "../api:frame_transformer_interface", 74 "../api:libjingle_peerconnection_api", 75 "../api:rtp_parameters", 76 "../api:scoped_refptr", 77 "../api:transport_api", 78 "../api/crypto:frame_decryptor_interface", 79 "../api/crypto:options", 80 "../api/rtc_event_log", 81 "../api/task_queue", 82 "../api/units:timestamp", 83 "../api/video:encoded_image", 84 "../api/video:recordable_encoded_frame", 85 "../api/video:video_bitrate_allocation", 86 "../api/video:video_bitrate_allocator", 87 "../api/video:video_codec_constants", 88 "../api/video:video_frame", 89 "../api/video:video_frame_i420", 90 "../api/video:video_rtp_headers", 91 "../api/video:video_stream_encoder", 92 "../api/video:video_stream_encoder_create", 93 "../api/video_codecs:video_codecs_api", 94 "../call:bitrate_allocator", 95 "../call:call_interfaces", 96 "../call:rtp_interfaces", 97 "../call:rtp_receiver", # For RtxReceiveStream. 98 "../call:rtp_sender", 99 "../call:video_stream_api", 100 "../common_video", 101 "../media:rtc_h264_profile_id", 102 "../modules:module_api", 103 "../modules:module_api_public", 104 "../modules/pacing", 105 "../modules/remote_bitrate_estimator", 106 "../modules/rtp_rtcp", 107 "../modules/rtp_rtcp:rtp_rtcp_format", 108 "../modules/rtp_rtcp:rtp_video_header", 109 "../modules/utility", 110 "../modules/video_coding", 111 "../modules/video_coding:codec_globals_headers", 112 "../modules/video_coding:nack_module", 113 "../modules/video_coding:video_codec_interface", 114 "../modules/video_coding:video_coding_utility", 115 "../modules/video_coding/deprecated:nack_module", 116 "../modules/video_processing", 117 "../rtc_base:checks", 118 "../rtc_base:rate_limiter", 119 "../rtc_base:rtc_base", 120 "../rtc_base:rtc_base_approved", 121 "../rtc_base:rtc_numerics", 122 "../rtc_base:rtc_task_queue", 123 "../rtc_base:stringutils", 124 "../rtc_base:weak_ptr", 125 "../rtc_base/experiments:alr_experiment", 126 "../rtc_base/experiments:field_trial_parser", 127 "../rtc_base/experiments:keyframe_interval_settings_experiment", 128 "../rtc_base/experiments:min_video_bitrate_experiment", 129 "../rtc_base/experiments:quality_scaling_experiment", 130 "../rtc_base/experiments:rate_control_settings", 131 "../rtc_base/synchronization:mutex", 132 "../rtc_base/synchronization:sequence_checker", 133 "../rtc_base/system:thread_registry", 134 "../rtc_base/task_utils:pending_task_safety_flag", 135 "../rtc_base/task_utils:repeating_task", 136 "../rtc_base/task_utils:to_queued_task", 137 "../rtc_base/time:timestamp_extrapolator", 138 "../system_wrappers", 139 "../system_wrappers:field_trial", 140 "../system_wrappers:metrics", 141 ] 142 absl_deps = [ 143 "//third_party/abseil-cpp/absl/algorithm:container", 144 "//third_party/abseil-cpp/absl/base:core_headers", 145 "//third_party/abseil-cpp/absl/memory", 146 "//third_party/abseil-cpp/absl/strings", 147 "//third_party/abseil-cpp/absl/types:optional", 148 ] 149 150 if (!build_with_mozilla) { 151 deps += [ "../media:rtc_media_base" ] 152 } 153} 154 155rtc_library("video_stream_decoder_impl") { 156 visibility = [ "*" ] 157 158 sources = [ 159 "video_stream_decoder_impl.cc", 160 "video_stream_decoder_impl.h", 161 ] 162 163 deps = [ 164 "../api/task_queue", 165 "../api/video:encoded_frame", 166 "../api/video:video_frame", 167 "../api/video:video_rtp_headers", 168 "../api/video:video_stream_decoder", 169 "../api/video_codecs:video_codecs_api", 170 "../modules/video_coding", 171 "../rtc_base:rtc_base_approved", 172 "../rtc_base:rtc_task_queue", 173 "../rtc_base/synchronization:mutex", 174 "../system_wrappers", 175 ] 176 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 177} 178 179rtc_library("frame_dumping_decoder") { 180 visibility = [ "*" ] 181 182 sources = [ 183 "frame_dumping_decoder.cc", 184 "frame_dumping_decoder.h", 185 ] 186 187 deps = [ 188 "../api/video:encoded_frame", 189 "../api/video:encoded_image", 190 "../api/video_codecs:video_codecs_api", 191 "../modules/video_coding", 192 "../modules/video_coding:video_codec_interface", 193 "../modules/video_coding:video_coding_utility", 194 "../rtc_base:rtc_base_approved", 195 "../rtc_base/system:file_wrapper", 196 ] 197} 198 199rtc_library("video_stream_encoder_impl") { 200 visibility = [ "*" ] 201 202 # visibility = [ "../api/video:video_stream_encoder_create" ] 203 sources = [ 204 "encoder_bitrate_adjuster.cc", 205 "encoder_bitrate_adjuster.h", 206 "encoder_overshoot_detector.cc", 207 "encoder_overshoot_detector.h", 208 "frame_encode_metadata_writer.cc", 209 "frame_encode_metadata_writer.h", 210 "video_source_sink_controller.cc", 211 "video_source_sink_controller.h", 212 "video_stream_encoder.cc", 213 "video_stream_encoder.h", 214 ] 215 216 deps = [ 217 "../api:rtp_parameters", 218 "../api/adaptation:resource_adaptation_api", 219 "../api/task_queue:task_queue", 220 "../api/units:data_rate", 221 "../api/video:encoded_image", 222 "../api/video:video_adaptation", 223 "../api/video:video_bitrate_allocation", 224 "../api/video:video_bitrate_allocator", 225 "../api/video:video_bitrate_allocator_factory", 226 "../api/video:video_codec_constants", 227 "../api/video:video_frame", 228 "../api/video:video_frame_i420", 229 "../api/video:video_rtp_headers", 230 "../api/video:video_stream_encoder", 231 "../api/video_codecs:video_codecs_api", 232 "../call/adaptation:resource_adaptation", 233 "../common_video", 234 "../modules:module_api_public", 235 "../modules/video_coding", 236 "../modules/video_coding:video_codec_interface", 237 "../modules/video_coding:video_coding_utility", 238 "../modules/video_coding:webrtc_vp9_helpers", 239 "../rtc_base:checks", 240 "../rtc_base:criticalsection", 241 "../rtc_base:logging", 242 "../rtc_base:macromagic", 243 "../rtc_base:rtc_base_approved", 244 "../rtc_base:rtc_event", 245 "../rtc_base:rtc_numerics", 246 "../rtc_base:rtc_task_queue", 247 "../rtc_base:timeutils", 248 "../rtc_base/experiments:alr_experiment", 249 "../rtc_base/experiments:balanced_degradation_settings", 250 "../rtc_base/experiments:field_trial_parser", 251 "../rtc_base/experiments:quality_rampup_experiment", 252 "../rtc_base/experiments:quality_scaler_settings", 253 "../rtc_base/experiments:quality_scaling_experiment", 254 "../rtc_base/experiments:rate_control_settings", 255 "../rtc_base/synchronization:mutex", 256 "../rtc_base/synchronization:sequence_checker", 257 "../rtc_base/task_utils:repeating_task", 258 "../system_wrappers", 259 "../system_wrappers:field_trial", 260 "adaptation:video_adaptation", 261 ] 262 absl_deps = [ 263 "//third_party/abseil-cpp/absl/algorithm:container", 264 "//third_party/abseil-cpp/absl/base:core_headers", 265 "//third_party/abseil-cpp/absl/types:optional", 266 ] 267} 268 269if (rtc_include_tests) { 270 rtc_library("video_mocks") { 271 testonly = true 272 sources = [ "test/mock_video_stream_encoder.h" ] 273 deps = [ 274 "../api/video:video_stream_encoder", 275 "../test:test_support", 276 ] 277 } 278 rtc_library("video_quality_test") { 279 testonly = true 280 281 # Only targets in this file and api/ can depend on this. 282 visibility = [ 283 ":*", 284 "../api:create_video_quality_test_fixture_api", 285 ] 286 sources = [ 287 "video_analyzer.cc", 288 "video_analyzer.h", 289 "video_quality_test.cc", 290 "video_quality_test.h", 291 ] 292 deps = [ 293 ":frame_dumping_decoder", 294 "../api:create_frame_generator", 295 "../api:fec_controller_api", 296 "../api:frame_generator_api", 297 "../api:libjingle_peerconnection_api", 298 "../api:rtc_event_log_output_file", 299 "../api:test_dependency_factory", 300 "../api:video_quality_test_fixture_api", 301 "../api/rtc_event_log:rtc_event_log_factory", 302 "../api/task_queue", 303 "../api/task_queue:default_task_queue_factory", 304 "../api/video:builtin_video_bitrate_allocator_factory", 305 "../api/video:video_bitrate_allocator_factory", 306 "../api/video:video_frame", 307 "../api/video:video_rtp_headers", 308 "../api/video_codecs:video_codecs_api", 309 "../call:fake_network", 310 "../call:simulated_network", 311 "../common_video", 312 "../media:rtc_audio_video", 313 "../media:rtc_encoder_simulcast_proxy", 314 "../media:rtc_internal_video_codecs", 315 "../media:rtc_media_base", 316 "../modules/audio_device:audio_device_api", 317 "../modules/audio_device:audio_device_module_from_input_and_output", 318 "../modules/audio_device:windows_core_audio_utility", 319 "../modules/audio_mixer:audio_mixer_impl", 320 "../modules/rtp_rtcp", 321 "../modules/rtp_rtcp:rtp_rtcp_format", 322 "../modules/video_coding", 323 "../modules/video_coding:video_coding_utility", 324 "../modules/video_coding:webrtc_h264", 325 "../modules/video_coding:webrtc_multiplex", 326 "../modules/video_coding:webrtc_vp8", 327 "../modules/video_coding:webrtc_vp9", 328 "../rtc_base:rtc_base_approved", 329 "../rtc_base:rtc_base_tests_utils", 330 "../rtc_base:rtc_numerics", 331 "../rtc_base:task_queue_for_test", 332 "../rtc_base/synchronization:mutex", 333 "../rtc_base/task_utils:repeating_task", 334 "../system_wrappers", 335 "../test:fake_video_codecs", 336 "../test:fileutils", 337 "../test:perf_test", 338 "../test:platform_video_capturer", 339 "../test:rtp_test_utils", 340 "../test:test_common", 341 "../test:test_renderer", 342 "../test:test_support", 343 "../test:test_support_test_artifacts", 344 "../test:video_test_common", 345 "../test:video_test_support", 346 ] 347 absl_deps = [ 348 "//third_party/abseil-cpp/absl/algorithm:container", 349 "//third_party/abseil-cpp/absl/flags:flag", 350 "//third_party/abseil-cpp/absl/flags:parse", 351 ] 352 353 if (is_mac || is_ios) { 354 deps += [ "../test:video_test_mac" ] 355 } 356 } 357 358 rtc_library("video_full_stack_tests") { 359 testonly = true 360 361 sources = [ "full_stack_tests.cc" ] 362 deps = [ 363 ":video_quality_test", 364 "../api:simulated_network_api", 365 "../api:test_dependency_factory", 366 "../api:video_quality_test_fixture_api", 367 "../api/video_codecs:video_codecs_api", 368 "../media:rtc_vp9_profile", 369 "../modules/pacing", 370 "../modules/video_coding:webrtc_vp9", 371 "../rtc_base/experiments:alr_experiment", 372 "../system_wrappers:field_trial", 373 "../test:field_trial", 374 "../test:fileutils", 375 "../test:test_common", 376 "../test:test_support", 377 "//testing/gtest", 378 ] 379 absl_deps = [ 380 "//third_party/abseil-cpp/absl/flags:flag", 381 "//third_party/abseil-cpp/absl/flags:parse", 382 "//third_party/abseil-cpp/absl/types:optional", 383 ] 384 } 385 386 rtc_library("video_pc_full_stack_tests") { 387 testonly = true 388 389 sources = [ "pc_full_stack_tests.cc" ] 390 deps = [ 391 "../api:create_network_emulation_manager", 392 "../api:create_peer_connection_quality_test_frame_generator", 393 "../api:create_peerconnection_quality_test_fixture", 394 "../api:frame_generator_api", 395 "../api:media_stream_interface", 396 "../api:network_emulation_manager_api", 397 "../api:peer_connection_quality_test_fixture_api", 398 "../api:simulated_network_api", 399 "../api:time_controller", 400 "../call:simulated_network", 401 "../media:rtc_vp9_profile", 402 "../modules/video_coding:webrtc_vp9", 403 "../system_wrappers:field_trial", 404 "../test:field_trial", 405 "../test:fileutils", 406 "../test:test_support", 407 "../test/pc/e2e:network_quality_metrics_reporter", 408 ] 409 } 410 411 rtc_library("video_loopback_lib") { 412 testonly = true 413 sources = [ 414 "video_loopback.cc", 415 "video_loopback.h", 416 ] 417 deps = [ 418 ":video_quality_test", 419 "../api:libjingle_peerconnection_api", 420 "../api:simulated_network_api", 421 "../api:video_quality_test_fixture_api", 422 "../api/transport:bitrate_settings", 423 "../api/video_codecs:video_codecs_api", 424 "../rtc_base:checks", 425 "../rtc_base:logging", 426 "../system_wrappers:field_trial", 427 "../test:field_trial", 428 "../test:run_test", 429 "../test:run_test_interface", 430 "../test:test_common", 431 "../test:test_renderer", 432 "../test:test_support", 433 "//testing/gtest", 434 ] 435 absl_deps = [ 436 "//third_party/abseil-cpp/absl/flags:flag", 437 "//third_party/abseil-cpp/absl/flags:parse", 438 "//third_party/abseil-cpp/absl/types:optional", 439 ] 440 } 441 442 if (is_mac) { 443 mac_app_bundle("video_loopback") { 444 testonly = true 445 sources = [ "video_loopback_main.mm" ] 446 info_plist = "../test/mac/Info.plist" 447 deps = [ ":video_loopback_lib" ] 448 } 449 } else { 450 rtc_executable("video_loopback") { 451 testonly = true 452 sources = [ "video_loopback_main.cc" ] 453 deps = [ ":video_loopback_lib" ] 454 } 455 } 456 457 rtc_executable("screenshare_loopback") { 458 testonly = true 459 sources = [ "screenshare_loopback.cc" ] 460 461 deps = [ 462 ":video_quality_test", 463 "../api:libjingle_peerconnection_api", 464 "../api:simulated_network_api", 465 "../api:video_quality_test_fixture_api", 466 "../api/transport:bitrate_settings", 467 "../api/video_codecs:video_codecs_api", 468 "../rtc_base:checks", 469 "../rtc_base:logging", 470 "../rtc_base:stringutils", 471 "../system_wrappers:field_trial", 472 "../test:field_trial", 473 "../test:run_test", 474 "../test:run_test_interface", 475 "../test:test_common", 476 "../test:test_renderer", 477 "../test:test_support", 478 "//third_party/abseil-cpp/absl/flags:flag", 479 "//third_party/abseil-cpp/absl/flags:parse", 480 "//third_party/abseil-cpp/absl/types:optional", 481 ] 482 } 483 484 rtc_executable("sv_loopback") { 485 testonly = true 486 sources = [ "sv_loopback.cc" ] 487 deps = [ 488 ":video_quality_test", 489 "../api:libjingle_peerconnection_api", 490 "../api:simulated_network_api", 491 "../api:video_quality_test_fixture_api", 492 "../api/transport:bitrate_settings", 493 "../api/video_codecs:video_codecs_api", 494 "../rtc_base:checks", 495 "../rtc_base:logging", 496 "../rtc_base:stringutils", 497 "../system_wrappers:field_trial", 498 "../test:field_trial", 499 "../test:run_test", 500 "../test:run_test_interface", 501 "../test:test_common", 502 "../test:test_renderer", 503 "../test:test_support", 504 "//testing/gtest", 505 "//third_party/abseil-cpp/absl/flags:flag", 506 "//third_party/abseil-cpp/absl/flags:parse", 507 "//third_party/abseil-cpp/absl/types:optional", 508 ] 509 } 510 511 # TODO(pbos): Rename test suite. 512 rtc_library("video_tests") { 513 testonly = true 514 515 defines = [] 516 sources = [ 517 "buffered_frame_decryptor_unittest.cc", 518 "call_stats2_unittest.cc", 519 "call_stats_unittest.cc", 520 "cpu_scaling_tests.cc", 521 "encoder_bitrate_adjuster_unittest.cc", 522 "encoder_overshoot_detector_unittest.cc", 523 "encoder_rtcp_feedback_unittest.cc", 524 "end_to_end_tests/bandwidth_tests.cc", 525 "end_to_end_tests/call_operation_tests.cc", 526 "end_to_end_tests/codec_tests.cc", 527 "end_to_end_tests/config_tests.cc", 528 "end_to_end_tests/extended_reports_tests.cc", 529 "end_to_end_tests/fec_tests.cc", 530 "end_to_end_tests/frame_encryption_tests.cc", 531 "end_to_end_tests/histogram_tests.cc", 532 "end_to_end_tests/multi_codec_receive_tests.cc", 533 "end_to_end_tests/multi_stream_tester.cc", 534 "end_to_end_tests/multi_stream_tester.h", 535 "end_to_end_tests/multi_stream_tests.cc", 536 "end_to_end_tests/network_state_tests.cc", 537 "end_to_end_tests/probing_tests.cc", 538 "end_to_end_tests/retransmission_tests.cc", 539 "end_to_end_tests/rtp_rtcp_tests.cc", 540 "end_to_end_tests/ssrc_tests.cc", 541 "end_to_end_tests/stats_tests.cc", 542 "end_to_end_tests/transport_feedback_tests.cc", 543 "frame_encode_metadata_writer_unittest.cc", 544 "picture_id_tests.cc", 545 "quality_limitation_reason_tracker_unittest.cc", 546 "quality_scaling_tests.cc", 547 "quality_threshold_unittest.cc", 548 "receive_statistics_proxy2_unittest.cc", 549 "receive_statistics_proxy_unittest.cc", 550 "report_block_stats_unittest.cc", 551 "rtp_video_stream_receiver2_unittest.cc", 552 "rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc", 553 "rtp_video_stream_receiver_unittest.cc", 554 "send_delay_stats_unittest.cc", 555 "send_statistics_proxy_unittest.cc", 556 "stats_counter_unittest.cc", 557 "stream_synchronization_unittest.cc", 558 "video_receive_stream2_unittest.cc", 559 "video_receive_stream_unittest.cc", 560 "video_send_stream_impl_unittest.cc", 561 "video_send_stream_tests.cc", 562 "video_source_sink_controller_unittest.cc", 563 "video_stream_decoder_impl_unittest.cc", 564 "video_stream_encoder_unittest.cc", 565 ] 566 deps = [ 567 ":video", 568 ":video_mocks", 569 ":video_stream_decoder_impl", 570 ":video_stream_encoder_impl", 571 "../api:create_frame_generator", 572 "../api:fake_frame_decryptor", 573 "../api:fake_frame_encryptor", 574 "../api:frame_generator_api", 575 "../api:libjingle_peerconnection_api", 576 "../api:mock_fec_controller_override", 577 "../api:mock_frame_decryptor", 578 "../api:mock_video_encoder", 579 "../api:rtp_headers", 580 "../api:rtp_parameters", 581 "../api:scoped_refptr", 582 "../api:simulated_network_api", 583 "../api:transport_api", 584 "../api/adaptation:resource_adaptation_api", 585 "../api/crypto:options", 586 "../api/rtc_event_log", 587 "../api/task_queue", 588 "../api/task_queue:default_task_queue_factory", 589 "../api/test/video:function_video_factory", 590 "../api/units:data_rate", 591 "../api/units:timestamp", 592 "../api/video:builtin_video_bitrate_allocator_factory", 593 "../api/video:encoded_image", 594 "../api/video:video_adaptation", 595 "../api/video:video_bitrate_allocation", 596 "../api/video:video_frame", 597 "../api/video:video_frame_i420", 598 "../api/video:video_frame_type", 599 "../api/video:video_rtp_headers", 600 "../api/video_codecs:video_codecs_api", 601 "../api/video_codecs:vp8_temporal_layers_factory", 602 "../call:call_interfaces", 603 "../call:fake_network", 604 "../call:mock_bitrate_allocator", 605 "../call:mock_rtp_interfaces", 606 "../call:rtp_interfaces", 607 "../call:rtp_receiver", 608 "../call:rtp_sender", 609 "../call:simulated_network", 610 "../call:simulated_packet_receiver", 611 "../call:video_stream_api", 612 "../call/adaptation:resource_adaptation", 613 "../call/adaptation:resource_adaptation_test_utilities", 614 "../common_video", 615 "../common_video/test:utilities", 616 "../media:rtc_audio_video", 617 "../media:rtc_internal_video_codecs", 618 "../media:rtc_media", 619 "../media:rtc_media_base", 620 "../media:rtc_media_tests_utils", 621 "../media:rtc_simulcast_encoder_adapter", 622 "../modules:module_api", 623 "../modules:module_api_public", 624 "../modules/pacing", 625 "../modules/rtp_rtcp", 626 "../modules/rtp_rtcp:mock_rtp_rtcp", 627 "../modules/rtp_rtcp:rtp_rtcp_format", 628 "../modules/utility", 629 "../modules/video_coding", 630 "../modules/video_coding:codec_globals_headers", 631 "../modules/video_coding:encoded_frame", 632 "../modules/video_coding:video_codec_interface", 633 "../modules/video_coding:video_coding_utility", 634 "../modules/video_coding:webrtc_h264", 635 "../modules/video_coding:webrtc_multiplex", 636 "../modules/video_coding:webrtc_vp8", 637 "../modules/video_coding:webrtc_vp9", 638 "../rtc_base", 639 "../rtc_base:checks", 640 "../rtc_base:gunit_helpers", 641 "../rtc_base:rate_limiter", 642 "../rtc_base:rtc_base_approved", 643 "../rtc_base:rtc_base_tests_utils", 644 "../rtc_base:rtc_numerics", 645 "../rtc_base:rtc_task_queue", 646 "../rtc_base:task_queue_for_test", 647 "../rtc_base/experiments:alr_experiment", 648 "../rtc_base/synchronization:mutex", 649 "../rtc_base/synchronization:sequence_checker", 650 "../rtc_base/task_utils:to_queued_task", 651 "../system_wrappers", 652 "../system_wrappers:field_trial", 653 "../system_wrappers:metrics", 654 "../test:direct_transport", 655 "../test:encoder_settings", 656 "../test:fake_video_codecs", 657 "../test:field_trial", 658 "../test:fileutils", 659 "../test:frame_utils", 660 "../test:mock_frame_transformer", 661 "../test:mock_transport", 662 "../test:null_transport", 663 "../test:perf_test", 664 "../test:rtp_test_utils", 665 "../test:test_common", 666 "../test:test_support", 667 "../test:video_test_common", 668 "../test/time_controller", 669 "adaptation:video_adaptation", 670 "//testing/gtest", 671 ] 672 absl_deps = [ 673 "//third_party/abseil-cpp/absl/algorithm:container", 674 "//third_party/abseil-cpp/absl/memory", 675 "//third_party/abseil-cpp/absl/types:optional", 676 ] 677 if (!build_with_mozilla) { 678 deps += [ "../media:rtc_media_base" ] 679 } 680 } 681} 682