BUILD.gn (46491B)
1 # Copyright (c) 2015 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 9 import("../webrtc.gni") 10 if (is_android) { 11 import("//chromium/build/config/android/config.gni") 12 import("//chromium/build/config/android/rules.gni") 13 } 14 15 group("api") { 16 visibility = [ "*" ] 17 deps = [] 18 19 if (!build_with_mozilla) { 20 deps += [ ":libjingle_peerconnection_api" ] 21 } 22 } 23 24 rtc_source_set("call_api") { 25 visibility = [ "*" ] 26 sources = [ "call/audio_sink.h" ] 27 } 28 29 rtc_library("enable_media") { 30 visibility = [ "*" ] 31 sources = [ 32 "enable_media.cc", 33 "enable_media.h", 34 ] 35 deps = [ 36 ":libjingle_peerconnection_api", 37 ":scoped_refptr", 38 "../call", 39 "../call:call_interfaces", 40 "../media:media_engine", 41 "../media:rtc_audio_video", 42 "../pc:media_factory", 43 "../rtc_base/system:rtc_export", 44 "environment", 45 "//third_party/abseil-cpp/absl/base:nullability", 46 ] 47 if (build_with_mozilla) { 48 deps -= [ "../pc:media_factory" ] 49 } 50 } 51 52 rtc_library("enable_media_with_defaults") { 53 visibility = [ "*" ] 54 allow_poison = [ 55 "audio_codecs", 56 "environment_construction", 57 "software_video_codecs", 58 ] 59 sources = [ 60 "enable_media_with_defaults.cc", 61 "enable_media_with_defaults.h", 62 ] 63 deps = [ 64 ":enable_media", 65 ":libjingle_peerconnection_api", 66 ":scoped_refptr", 67 "../rtc_base/system:rtc_export", 68 "audio:builtin_audio_processing_builder", 69 "audio_codecs:builtin_audio_decoder_factory", 70 "audio_codecs:builtin_audio_encoder_factory", 71 "video_codecs:builtin_video_decoder_factory", 72 "video_codecs:builtin_video_encoder_factory", 73 ] 74 } 75 76 rtc_library("create_modular_peer_connection_factory") { 77 visibility = [ "*" ] 78 allow_poison = [ "environment_construction" ] 79 sources = [ 80 "create_modular_peer_connection_factory.cc", 81 "create_modular_peer_connection_factory.h", 82 ] 83 deps = [ 84 ":libjingle_peerconnection_api", 85 ":scoped_refptr", 86 ":sequence_checker", 87 "../pc:peer_connection_factory", 88 "../pc:peer_connection_factory_proxy", 89 "../rtc_base:threading", 90 "../rtc_base/system:rtc_export", 91 "../stats:rtc_stats", 92 ] 93 } 94 95 if (!build_with_chromium && !build_with_mozilla) { 96 rtc_library("create_peerconnection_factory") { 97 visibility = [ "*" ] 98 allow_poison = [ "environment_construction" ] 99 sources = [ 100 "create_peerconnection_factory.cc", 101 "create_peerconnection_factory.h", 102 ] 103 deps = [ 104 ":create_modular_peer_connection_factory", 105 ":enable_media", 106 ":field_trials_view", 107 ":libjingle_peerconnection_api", 108 ":scoped_refptr", 109 "../rtc_base:threading", 110 "../rtc_base/system:rtc_export", 111 "audio:audio_device", 112 "audio:audio_mixer_api", 113 "audio:audio_processing", 114 "audio:builtin_audio_processing_builder", 115 "audio_codecs:audio_codecs_api", 116 "environment:environment_factory", 117 "rtc_event_log:rtc_event_log_factory", 118 "video_codecs:video_codecs_api", 119 ] 120 } 121 } 122 123 rtc_library("location") { 124 visibility = [ "*" ] 125 deps = [ "../rtc_base/system:rtc_export" ] 126 if (build_with_chromium) { 127 sources = [ "../../webrtc_overrides/api/location.h" ] 128 deps += [ "//base" ] 129 } else { 130 sources = [ "location.h" ] 131 } 132 } 133 134 rtc_library("rtp_headers") { 135 visibility = [ "*" ] 136 sources = [ 137 "rtp_headers.cc", 138 "rtp_headers.h", 139 ] 140 deps = [ 141 ":array_view", 142 "../rtc_base:checks", 143 "../rtc_base/system:rtc_export", 144 "units:timestamp", 145 "video:video_rtp_headers", 146 ] 147 } 148 149 rtc_library("rtp_packet_info") { 150 visibility = [ "*" ] 151 sources = [ 152 "rtp_packet_info.cc", 153 "rtp_packet_info.h", 154 "rtp_packet_infos.h", 155 ] 156 deps = [ 157 ":array_view", 158 ":make_ref_counted", 159 ":refcountedbase", 160 ":rtp_headers", 161 ":scoped_refptr", 162 "../rtc_base/system:rtc_export", 163 "units:time_delta", 164 "units:timestamp", 165 ] 166 } 167 168 rtc_source_set("video_track_source_constraints") { 169 visibility = [ "*" ] 170 sources = [ "video_track_source_constraints.h" ] 171 } 172 173 rtc_library("media_stream_interface") { 174 visibility = [ "*" ] 175 sources = [ 176 "media_stream_interface.cc", 177 "media_stream_interface.h", 178 "media_stream_track.h", 179 "notifier.h", 180 ] 181 deps = [ 182 ":audio_options_api", 183 ":make_ref_counted", 184 ":ref_count", 185 ":rtp_parameters", 186 ":scoped_refptr", 187 ":sequence_checker", 188 ":video_track_source_constraints", 189 "../rtc_base:checks", 190 "../rtc_base:macromagic", 191 "../rtc_base/system:no_unique_address", 192 "../rtc_base/system:rtc_export", 193 "audio:audio_processing_statistics", 194 "video:recordable_encoded_frame", 195 "video:video_frame", 196 "//third_party/abseil-cpp/absl/strings:string_view", 197 ] 198 } 199 200 rtc_library("candidate") { 201 visibility = [ "*" ] 202 203 sources = [ 204 "candidate.cc", 205 "candidate.h", 206 ] 207 deps = [ 208 "../p2p:p2p_constants", 209 "../rtc_base:checks", 210 "../rtc_base:crc32", 211 "../rtc_base:crypto_random", 212 "../rtc_base:ip_address", 213 "../rtc_base:logging", 214 "../rtc_base:network_constants", 215 "../rtc_base:socket_address", 216 "../rtc_base:stringutils", 217 "../rtc_base/system:rtc_export", 218 "//third_party/abseil-cpp/absl/base:core_headers", 219 "//third_party/abseil-cpp/absl/strings", 220 "//third_party/abseil-cpp/absl/strings:string_view", 221 ] 222 } 223 224 rtc_source_set("turn_customizer") { 225 visibility = [ "*" ] 226 sources = [ "turn_customizer.h" ] 227 deps = [ 228 "../p2p:port_interface", 229 "transport:stun_types", 230 ] 231 } 232 233 rtc_source_set("ice_transport_interface") { 234 visibility = [ "*" ] 235 236 sources = [ "ice_transport_interface.h" ] 237 deps = [ 238 ":async_dns_resolver", 239 ":local_network_access_permission", 240 ":packet_socket_factory", 241 ":ref_count", 242 ":rtc_error", 243 ":scoped_refptr", 244 "environment", 245 "rtc_event_log", 246 ] 247 } 248 249 rtc_library("dtls_transport_interface") { 250 # Previously, Mozilla has tried to limit including this dep, but as 251 # upstream changes, it requires whack-a-mole. Making it an empty 252 # definition has the same effect, but only requires one change. 253 if (!build_with_mozilla) { 254 visibility = [ "*" ] 255 256 sources = [ 257 "dtls_transport_interface.cc", 258 "dtls_transport_interface.h", 259 ] 260 deps = [ 261 ":ice_transport_interface", 262 ":ref_count", 263 ":rtc_error", 264 ":scoped_refptr", 265 "../rtc_base:ssl", 266 "../rtc_base/system:rtc_export", 267 "//third_party/abseil-cpp/absl/base:core_headers", 268 ] 269 } 270 } 271 272 rtc_library("dtmf_sender_interface") { 273 visibility = [ "*" ] 274 275 sources = [ "dtmf_sender_interface.h" ] 276 deps = [ 277 ":media_stream_interface", 278 ":ref_count", 279 ] 280 } 281 282 rtc_library("rtp_sender_interface") { 283 # Previously, Mozilla has tried to limit including this dep, but as 284 # upstream changes, it requires whack-a-mole. Making it an empty 285 # definition has the same effect, but only requires one change. 286 if (!build_with_mozilla) { 287 visibility = [ "*" ] 288 289 sources = [ 290 "rtp_sender_interface.cc", 291 "rtp_sender_interface.h", 292 ] 293 deps = [ 294 ":dtls_transport_interface", 295 ":dtmf_sender_interface", 296 ":frame_transformer_interface", 297 ":media_stream_interface", 298 ":ref_count", 299 ":rtc_error", 300 ":rtp_parameters", 301 ":rtp_sender_setparameters_callback", 302 ":scoped_refptr", 303 "../rtc_base:checks", 304 "../rtc_base/system:rtc_export", 305 "crypto:frame_encryptor_interface", 306 "video_codecs:video_codecs_api", 307 "//third_party/abseil-cpp/absl/functional:any_invocable", 308 ] 309 } 310 } 311 312 rtc_library("rtp_sender_setparameters_callback") { 313 visibility = [ "*" ] 314 315 sources = [ 316 "rtp_sender_setparameters_callback.cc", 317 "rtp_sender_setparameters_callback.h", 318 ] 319 deps = [ 320 ":rtc_error", 321 "//third_party/abseil-cpp/absl/functional:any_invocable", 322 ] 323 } 324 325 rtc_library("libjingle_peerconnection_api") { 326 if (!build_with_mozilla) { 327 visibility = [ "*" ] 328 cflags = [] 329 sources = [ 330 "data_channel_interface.cc", 331 "data_channel_interface.h", 332 "jsep.cc", 333 "jsep.h", 334 "jsep_ice_candidate.cc", 335 "jsep_ice_candidate.h", 336 "jsep_session_description.h", 337 "legacy_stats_types.cc", 338 "legacy_stats_types.h", 339 "peer_connection_interface.cc", 340 "peer_connection_interface.h", 341 "rtp_receiver_interface.cc", 342 "rtp_receiver_interface.h", 343 "rtp_transceiver_interface.cc", 344 "rtp_transceiver_interface.h", 345 "sctp_transport_interface.cc", 346 "sctp_transport_interface.h", 347 "set_local_description_observer_interface.h", 348 "set_remote_description_observer_interface.h", 349 "uma_metrics.h", 350 "video_track_source_proxy_factory.h", 351 352 # Remove when downstream has been updated 353 "dtmf_sender_interface.h", 354 "rtp_sender_interface.h", 355 ] 356 public_deps += [ # no-presubmit-check TODO(webrtc:8603) 357 # Remove when downstream has been updated 358 ":dtmf_sender_interface", 359 ":rtp_sender_interface", 360 ] 361 deps = [ 362 ":array_view", 363 ":async_dns_resolver", 364 ":audio_options_api", 365 ":candidate", 366 ":data_channel_event_observer_interface", 367 ":dtls_transport_interface", 368 ":fec_controller_api", 369 ":field_trials_view", 370 ":frame_transformer_interface", 371 ":ice_transport_interface", 372 ":libjingle_logging_api", 373 ":local_network_access_permission", 374 ":make_ref_counted", 375 ":media_stream_interface", 376 ":network_state_predictor_api", 377 ":packet_socket_factory", 378 ":priority", 379 ":ref_count", 380 ":rtc_error", 381 ":rtc_stats_api", 382 ":rtp_packet_info", 383 ":rtp_parameters", 384 ":rtp_sender_interface", 385 ":rtp_transceiver_direction", 386 ":scoped_refptr", 387 ":sequence_checker", 388 ":turn_customizer", 389 "../call:rtp_interfaces", 390 "../media:media_engine", 391 "../p2p:connection", 392 "../p2p:port", 393 "../p2p:port_allocator", 394 "../pc:media_factory", 395 "../rtc_base:copy_on_write_buffer", 396 "../rtc_base:logging", 397 "../rtc_base:macromagic", 398 "../rtc_base:network", 399 "../rtc_base:network_constants", 400 "../rtc_base:rtc_certificate_generator", 401 "../rtc_base:socket_factory", 402 "../rtc_base:ssl", 403 "../rtc_base:ssl_adapter", 404 "../rtc_base:stringutils", 405 "../rtc_base/system:no_unique_address", 406 "adaptation:resource_adaptation_api", 407 "audio:audio_device", 408 "audio:audio_frame_processor", 409 "audio:audio_mixer_api", 410 "audio:audio_processing", 411 "audio_codecs:audio_codecs_api", 412 "crypto:frame_decryptor_interface", 413 "crypto:frame_encryptor_interface", 414 "crypto:options", 415 "environment", 416 "metronome", 417 "neteq:neteq_api", 418 "rtc_event_log:rtc_event_log_factory_interface", 419 "task_queue", 420 "transport:bandwidth_estimation_settings", 421 "transport:bitrate_settings", 422 "transport:enums", 423 "transport:network_control", 424 "transport:sctp_transport_factory_interface", 425 "transport/rtp:rtp_source", 426 "units:data_rate", 427 "units:time_delta", 428 "units:timestamp", 429 "video:encoded_image", 430 "video:video_bitrate_allocator_factory", 431 "video:video_frame", 432 "video:video_rtp_headers", 433 "video_codecs:video_codecs_api", 434 "//third_party/abseil-cpp/absl/algorithm:container", 435 "//third_party/abseil-cpp/absl/base:core_headers", 436 "//third_party/abseil-cpp/absl/base:nullability", 437 "//third_party/abseil-cpp/absl/functional:any_invocable", 438 "//third_party/abseil-cpp/absl/memory", 439 "//third_party/abseil-cpp/absl/strings", 440 "//third_party/abseil-cpp/absl/strings:str_format", 441 "//third_party/abseil-cpp/absl/strings:string_view", 442 443 # Basically, don't add stuff here. You might break sensitive downstream 444 # targets like pnacl. API should not depend on anything outside of this 445 # file, really. All these should arguably go away in time. 446 "../media:rtc_media_config", 447 "../rtc_base:checks", 448 "../rtc_base:ip_address", 449 "../rtc_base:socket_address", 450 "../rtc_base:threading", 451 "../rtc_base/system:rtc_export", 452 ] 453 } 454 } 455 456 rtc_library("frame_transformer_interface") { 457 visibility = [ "*" ] 458 sources = [ 459 "frame_transformer_interface.cc", 460 "frame_transformer_interface.h", 461 ] 462 deps = [ 463 ":array_view", 464 ":make_ref_counted", 465 ":ref_count", 466 ":scoped_refptr", 467 "../rtc_base:checks", 468 "../rtc_base:refcount", 469 "../rtc_base/system:rtc_export", 470 "units:time_delta", 471 "units:timestamp", 472 "video:encoded_frame", 473 "video:video_frame_metadata", 474 ] 475 } 476 477 rtc_library("rtc_error") { 478 visibility = [ "*" ] 479 sources = [ 480 "rtc_error.cc", 481 "rtc_error.h", 482 ] 483 deps = [ 484 "../rtc_base:checks", 485 "../rtc_base:logging", 486 "../rtc_base/system:rtc_export", 487 "//third_party/abseil-cpp/absl/meta:type_traits", 488 "//third_party/abseil-cpp/absl/strings", 489 "//third_party/abseil-cpp/absl/strings:str_format", 490 "//third_party/abseil-cpp/absl/strings:string_view", 491 ] 492 } 493 494 rtc_source_set("rtc_error_matchers") { 495 testonly = true 496 sources = [ "test/rtc_error_matchers.h" ] 497 deps = [ 498 ":rtc_error", 499 "../test:test_support", 500 "//third_party/abseil-cpp/absl/strings", 501 ] 502 } 503 504 rtc_source_set("packet_socket_factory") { 505 visibility = [ "*" ] 506 sources = [ "packet_socket_factory.h" ] 507 deps = [ 508 ":async_dns_resolver", 509 "../rtc_base:async_packet_socket", 510 "../rtc_base:checks", 511 "../rtc_base:socket_address", 512 "../rtc_base:ssl", 513 "../rtc_base/system:rtc_export", 514 "environment", 515 "//third_party/abseil-cpp/absl/memory", 516 ] 517 } 518 519 rtc_source_set("async_dns_resolver") { 520 visibility = [ "*" ] 521 sources = [ "async_dns_resolver.h" ] 522 deps = [ 523 "../rtc_base:checks", 524 "../rtc_base:socket_address", 525 "../rtc_base/system:rtc_export", 526 "//third_party/abseil-cpp/absl/functional:any_invocable", 527 ] 528 } 529 530 rtc_source_set("local_network_access_permission") { 531 visibility = [ "*" ] 532 sources = [ "local_network_access_permission.h" ] 533 deps = [ 534 "../rtc_base:checks", 535 "../rtc_base:socket_address", 536 "../rtc_base/system:rtc_export", 537 "//third_party/abseil-cpp/absl/functional:any_invocable", 538 ] 539 } 540 541 rtc_source_set("ref_count") { 542 visibility = [ "*" ] 543 sources = [ "ref_count.h" ] 544 } 545 546 rtc_source_set("scoped_refptr") { 547 visibility = [ "*" ] 548 sources = [ "scoped_refptr.h" ] 549 deps = [ "//third_party/abseil-cpp/absl/base:nullability" ] 550 } 551 552 rtc_source_set("make_ref_counted") { 553 visibility = [ "*" ] 554 sources = [ "make_ref_counted.h" ] 555 deps = [ 556 ":ref_count", 557 ":scoped_refptr", 558 "../rtc_base:refcount", 559 "//third_party/abseil-cpp/absl/base:nullability", 560 ] 561 } 562 563 rtc_source_set("video_quality_analyzer_api") { 564 visibility = [ "*" ] 565 testonly = true 566 sources = [ "test/video_quality_analyzer_interface.h" ] 567 568 deps = [ 569 ":array_view", 570 ":rtc_stats_api", 571 ":scoped_refptr", 572 ":stats_observer_interface", 573 "../rtc_base:checks", 574 "video:encoded_image", 575 "video:video_frame", 576 "video:video_rtp_headers", 577 "video_codecs:video_codecs_api", 578 "//third_party/abseil-cpp/absl/strings:string_view", 579 ] 580 } 581 582 rtc_source_set("track_id_stream_info_map") { 583 visibility = [ "*" ] 584 sources = [ "test/track_id_stream_info_map.h" ] 585 deps = [ "//third_party/abseil-cpp/absl/strings:string_view" ] 586 } 587 588 rtc_source_set("rtp_transceiver_direction") { 589 visibility = [ "*" ] 590 sources = [ "rtp_transceiver_direction.h" ] 591 } 592 593 rtc_library("priority") { 594 visibility = [ "*" ] 595 sources = [ 596 "priority.cc", 597 "priority.h", 598 ] 599 deps = [ 600 "../rtc_base:checks", 601 "../rtc_base:strong_alias", 602 "../rtc_base/system:rtc_export", 603 ] 604 } 605 606 rtc_library("rtp_parameters") { 607 visibility = [ "*" ] 608 sources = [ 609 "media_types.cc", 610 "media_types.h", 611 "rtp_parameters.cc", 612 "rtp_parameters.h", 613 ] 614 deps = [ 615 ":array_view", 616 ":priority", 617 ":rtp_transceiver_direction", 618 "../media:media_constants", 619 "../rtc_base:checks", 620 "../rtc_base:stringutils", 621 "../rtc_base/system:rtc_export", 622 "video:resolution", 623 "video_codecs:scalability_mode", 624 "//third_party/abseil-cpp/absl/base:core_headers", 625 "//third_party/abseil-cpp/absl/container:inlined_vector", 626 "//third_party/abseil-cpp/absl/strings:str_format", 627 "//third_party/abseil-cpp/absl/strings:string_view", 628 ] 629 } 630 631 if (is_android) { 632 java_cpp_enum("priority_enums") { 633 sources = [ "priority.h" ] 634 } 635 } 636 637 rtc_source_set("audio_quality_analyzer_api") { 638 visibility = [ "*" ] 639 testonly = true 640 sources = [ "test/audio_quality_analyzer_interface.h" ] 641 642 deps = [ 643 ":stats_observer_interface", 644 ":track_id_stream_info_map", 645 ] 646 } 647 648 rtc_library("rtp_packet_sender") { 649 visibility = [ "*" ] 650 sources = [ "rtp_packet_sender.h" ] 651 } 652 653 rtc_source_set("stats_observer_interface") { 654 visibility = [ "*" ] 655 testonly = true 656 sources = [ "test/stats_observer_interface.h" ] 657 658 deps = [ 659 ":rtc_stats_api", 660 ":scoped_refptr", 661 "//third_party/abseil-cpp/absl/strings:string_view", 662 ] 663 } 664 665 rtc_source_set("peer_network_dependencies") { 666 visibility = [ "*" ] 667 sources = [ "test/peer_network_dependencies.h" ] 668 deps = [ 669 "../rtc_base:network", 670 "../rtc_base:socket_factory", 671 "../rtc_base:threading", 672 "//third_party/abseil-cpp/absl/base:nullability", 673 ] 674 } 675 676 rtc_source_set("peer_connection_quality_test_fixture_api") { 677 if (!build_with_mozilla) { 678 visibility = [ "*" ] 679 testonly = true 680 sources = [ "test/peerconnection_quality_test_fixture.h" ] 681 682 deps = [ 683 ":array_view", 684 ":audio_quality_analyzer_api", 685 ":fec_controller_api", 686 ":frame_generator_api", 687 ":function_view", 688 ":libjingle_peerconnection_api", 689 ":media_stream_interface", 690 ":network_state_predictor_api", 691 ":packet_socket_factory", 692 ":rtp_parameters", 693 ":simulated_network_api", 694 ":stats_observer_interface", 695 ":track_id_stream_info_map", 696 ":video_quality_analyzer_api", 697 "../media:media_constants", 698 "../rtc_base:checks", 699 "../rtc_base:network", 700 "../rtc_base:rtc_certificate_generator", 701 "../rtc_base:ssl", 702 "../rtc_base:stringutils", 703 "../rtc_base:threading", 704 "../test:fileutils", 705 "audio:audio_mixer_api", 706 "audio:audio_processing", 707 "rtc_event_log", 708 "task_queue", 709 "test/pclf:media_configuration", 710 "test/pclf:media_quality_test_params", 711 "test/pclf:peer_configurer", 712 "test/video:video_frame_writer", 713 "transport:network_control", 714 "units:time_delta", 715 "video:video_frame", 716 "video_codecs:video_codecs_api", 717 "//third_party/abseil-cpp/absl/base:core_headers", 718 "//third_party/abseil-cpp/absl/memory", 719 "//third_party/abseil-cpp/absl/strings:string_view", 720 ] 721 } 722 } 723 724 rtc_library("frame_generator_api") { 725 visibility = [ "*" ] 726 sources = [ 727 "test/frame_generator_interface.cc", 728 "test/frame_generator_interface.h", 729 ] 730 731 deps = [ 732 ":scoped_refptr", 733 "../rtc_base:checks", 734 "video:video_frame", 735 ] 736 } 737 738 if (rtc_include_tests) { 739 # TODO(srte): Move to network_emulation sub directory. 740 rtc_library("create_network_emulation_manager") { 741 visibility = [ "*" ] 742 testonly = true 743 sources = [ 744 "test/create_network_emulation_manager.cc", 745 "test/create_network_emulation_manager.h", 746 ] 747 deps = [ 748 ":field_trials_view", 749 ":network_emulation_manager_api", 750 "../test/network:emulated_network", 751 ] 752 } 753 754 if (!build_with_chromium) { 755 rtc_source_set("video_quality_test_fixture_api") { 756 visibility = [ "*" ] 757 testonly = true 758 sources = [ "test/video_quality_test_fixture.h" ] 759 deps = [ 760 ":fec_controller_api", 761 ":libjingle_peerconnection_api", 762 ":network_state_predictor_api", 763 ":rtp_parameters", 764 ":simulated_network_api", 765 "../call:fake_network", 766 "../call:rtp_interfaces", 767 "../test:test_common", 768 "../test:video_test_common", 769 "../video/config:encoder_config", 770 "transport:bitrate_settings", 771 "transport:network_control", 772 "video_codecs:video_codecs_api", 773 ] 774 } 775 776 rtc_library("create_video_quality_test_fixture_api") { 777 visibility = [ "*" ] 778 testonly = true 779 sources = [ 780 "test/create_video_quality_test_fixture.cc", 781 "test/create_video_quality_test_fixture.h", 782 ] 783 deps = [ 784 ":video_quality_test_fixture_api", 785 "../video:video_quality_test", 786 ] 787 } 788 789 rtc_library("create_peerconnection_quality_test_fixture") { 790 visibility = [ "*" ] 791 testonly = true 792 sources = [ 793 "test/create_peerconnection_quality_test_fixture.cc", 794 "test/create_peerconnection_quality_test_fixture.h", 795 ] 796 797 deps = [ 798 ":audio_quality_analyzer_api", 799 ":peer_connection_quality_test_fixture_api", 800 ":time_controller", 801 ":video_quality_analyzer_api", 802 "../test/pc/e2e:peerconnection_quality_test", 803 "test/metrics:global_metrics_logger_and_exporter", 804 ] 805 } 806 } 807 } 808 809 rtc_library("create_frame_generator") { 810 visibility = [ "*" ] 811 testonly = true 812 sources = [ 813 "test/create_frame_generator.cc", 814 "test/create_frame_generator.h", 815 ] 816 deps = [ 817 ":frame_generator_api", 818 "../rtc_base:checks", 819 "../system_wrappers", 820 "../test:frame_generator_impl", 821 "environment", 822 "environment:environment_factory", 823 "//third_party/abseil-cpp/absl/base:nullability", 824 "//third_party/abseil-cpp/absl/strings:string_view", 825 ] 826 } 827 828 if (!build_with_mozilla) { 829 rtc_library("create_peer_connection_quality_test_frame_generator") { 830 visibility = [ "*" ] 831 testonly = true 832 sources = [ 833 "test/create_peer_connection_quality_test_frame_generator.cc", 834 "test/create_peer_connection_quality_test_frame_generator.h", 835 ] 836 deps = [ 837 ":create_frame_generator", 838 ":frame_generator_api", 839 "../rtc_base:checks", 840 "../system_wrappers", 841 "../test:fileutils", 842 "test/pclf:media_configuration", 843 "units:time_delta", 844 ] 845 } 846 } 847 848 rtc_source_set("data_channel_event_observer_interface") { 849 visibility = [ "*" ] 850 sources = [ "data_channel_event_observer_interface.h" ] 851 deps = [ 852 ":array_view", 853 "//third_party/abseil-cpp/absl/strings:string_view", 854 ] 855 } 856 857 rtc_source_set("libjingle_logging_api") { 858 visibility = [ "*" ] 859 sources = [ "rtc_event_log_output.h" ] 860 deps = [ "//third_party/abseil-cpp/absl/strings:string_view" ] 861 } 862 863 rtc_library("rtc_event_log_output_file") { 864 visibility = [ "*" ] 865 sources = [ 866 "rtc_event_log_output_file.cc", 867 "rtc_event_log_output_file.h", 868 ] 869 870 deps = [ 871 ":libjingle_logging_api", 872 "../rtc_base:checks", 873 "../rtc_base:logging", 874 "../rtc_base/system:file_wrapper", 875 "rtc_event_log", 876 "//third_party/abseil-cpp/absl/strings:string_view", 877 ] 878 } 879 880 rtc_source_set("rtc_stats_api") { 881 visibility = [ "*" ] 882 cflags = [] 883 sources = [ 884 "stats/attribute.h", 885 "stats/rtc_stats.h", 886 "stats/rtc_stats_collector_callback.h", 887 "stats/rtc_stats_report.h", 888 "stats/rtcstats_objects.h", 889 ] 890 891 deps = [ 892 ":make_ref_counted", 893 ":ref_count", 894 ":scoped_refptr", 895 "../api:refcountedbase", 896 "../rtc_base:checks", 897 "../rtc_base:refcount", 898 "../rtc_base/system:rtc_export", 899 "units:timestamp", 900 ] 901 } 902 903 rtc_library("audio_options_api") { 904 visibility = [ "*" ] 905 sources = [ 906 "audio_options.cc", 907 "audio_options.h", 908 ] 909 910 deps = [ 911 ":array_view", 912 "../rtc_base:stringutils", 913 "../rtc_base/system:rtc_export", 914 ] 915 } 916 917 rtc_library("transport_api") { 918 visibility = [ "*" ] 919 sources = [ 920 "call/transport.cc", 921 "call/transport.h", 922 ] 923 deps = [ 924 ":array_view", 925 ":refcountedbase", 926 ":scoped_refptr", 927 ] 928 } 929 930 rtc_source_set("bitrate_allocation") { 931 visibility = [ "*" ] 932 sources = [ "call/bitrate_allocation.h" ] 933 deps = [ 934 "units:data_rate", 935 "units:time_delta", 936 ] 937 } 938 939 # TODO(srte): Move to network_emulation sub directory. 940 rtc_source_set("simulated_network_api") { 941 visibility = [ "*" ] 942 sources = [ "test/simulated_network.h" ] 943 deps = [ 944 "../rtc_base:random", 945 "transport:ecn_marking", 946 "units:data_rate", 947 "units:data_size", 948 "units:timestamp", 949 "//third_party/abseil-cpp/absl/functional:any_invocable", 950 ] 951 } 952 953 # TODO(srte): Move to network_emulation sub directory. 954 rtc_library("network_emulation_manager_api") { 955 visibility = [ "*" ] 956 sources = [ 957 "test/network_emulation_manager.cc", 958 "test/network_emulation_manager.h", 959 ] 960 deps = [ 961 ":array_view", 962 ":field_trials_view", 963 ":packet_socket_factory", 964 ":peer_network_dependencies", 965 ":simulated_network_api", 966 ":time_controller", 967 "../rtc_base:checks", 968 "../rtc_base:ip_address", 969 "../rtc_base:network", 970 "../rtc_base:network_constants", 971 "../rtc_base:socket_address", 972 "../test/network:simulated_network", 973 "test/network_emulation", 974 "test/network_emulation:network_queue", 975 "units:data_rate", 976 "//third_party/abseil-cpp/absl/base:nullability", 977 "//third_party/abseil-cpp/absl/strings:string_view", 978 ] 979 } 980 981 rtc_library("time_controller") { 982 visibility = [ "*" ] 983 sources = [ 984 "test/time_controller.cc", 985 "test/time_controller.h", 986 ] 987 988 deps = [ 989 "../rtc_base:socket_server", 990 "../rtc_base:threading", 991 "../rtc_base/synchronization:yield_policy", 992 "../system_wrappers", 993 "task_queue", 994 "units:time_delta", 995 "units:timestamp", 996 "//third_party/abseil-cpp/absl/strings:string_view", 997 ] 998 } 999 1000 rtc_source_set("fec_controller_api") { 1001 visibility = [ "*" ] 1002 sources = [ 1003 "fec_controller.h", 1004 "fec_controller_override.h", 1005 ] 1006 1007 deps = [ 1008 "../modules:module_fec_api", 1009 "environment", 1010 "video:video_frame_type", 1011 ] 1012 } 1013 1014 rtc_source_set("network_state_predictor_api") { 1015 visibility = [ "*" ] 1016 sources = [ "network_state_predictor.h" ] 1017 deps = [ "transport:bandwidth_usage" ] 1018 } 1019 1020 rtc_source_set("array_view") { 1021 visibility = [ "*" ] 1022 sources = [ "array_view.h" ] 1023 deps = [ 1024 "../rtc_base:checks", 1025 "../rtc_base:type_traits", 1026 ] 1027 } 1028 1029 rtc_source_set("refcountedbase") { 1030 visibility = [ "*" ] 1031 sources = [ "ref_counted_base.h" ] 1032 deps = [ 1033 ":ref_count", 1034 "../rtc_base:refcount", 1035 ] 1036 } 1037 1038 rtc_library("ice_transport_factory") { 1039 if (!build_with_mozilla) { 1040 visibility = [ "*" ] 1041 sources = [ 1042 "ice_transport_factory.cc", 1043 "ice_transport_factory.h", 1044 ] 1045 deps = [ 1046 ":ice_transport_interface", 1047 ":libjingle_peerconnection_api", 1048 ":make_ref_counted", 1049 ":packet_socket_factory", 1050 ":scoped_refptr", 1051 ":sequence_checker", 1052 "../p2p:connection", 1053 "../p2p:ice_transport_internal", 1054 "../p2p:p2p_constants", 1055 "../p2p:p2p_transport_channel", 1056 "../p2p:port_allocator", 1057 "../rtc_base:macromagic", 1058 "../rtc_base:threading", 1059 "../rtc_base/system:rtc_export", 1060 "rtc_event_log", 1061 ] 1062 } 1063 } 1064 1065 rtc_library("neteq_simulator_api") { 1066 visibility = [ "*" ] 1067 sources = [ 1068 "test/neteq_simulator.cc", 1069 "test/neteq_simulator.h", 1070 ] 1071 deps = [ "neteq:neteq_api" ] 1072 } 1073 1074 rtc_source_set("function_view") { 1075 visibility = [ "*" ] 1076 sources = [ "function_view.h" ] 1077 deps = [ "../rtc_base:checks" ] 1078 } 1079 1080 rtc_source_set("sequence_checker") { 1081 visibility = [ "*" ] 1082 sources = [ "sequence_checker.h" ] 1083 deps = [ 1084 "../rtc_base:checks", 1085 "../rtc_base:macromagic", 1086 "../rtc_base/synchronization:sequence_checker_internal", 1087 "task_queue", 1088 ] 1089 } 1090 1091 rtc_library("datagram_connection") { 1092 visibility = [ "*" ] 1093 sources = [ "datagram_connection.h" ] 1094 deps = [ 1095 ":array_view", 1096 ":candidate", 1097 ":ref_count", 1098 "../p2p:transport_description", 1099 "../rtc_base:macromagic", 1100 "../rtc_base/system:rtc_export", 1101 "environment", 1102 "//third_party/abseil-cpp/absl/functional:any_invocable", 1103 ] 1104 } 1105 1106 rtc_library("datagram_connection_factory") { 1107 visibility = [ "*" ] 1108 sources = [ 1109 "datagram_connection_factory.cc", 1110 "datagram_connection_factory.h", 1111 ] 1112 deps = [ 1113 ":datagram_connection", 1114 ":ref_count", 1115 "../p2p:port_allocator", 1116 "../pc:datagram_connection_internal", 1117 "../rtc_base:macromagic", 1118 "../rtc_base/system:rtc_export", 1119 "environment", 1120 ] 1121 } 1122 1123 if (rtc_include_tests) { 1124 if (rtc_enable_protobuf && !build_with_chromium) { 1125 rtc_library("audioproc_f_api") { 1126 visibility = [ "*" ] 1127 testonly = true 1128 sources = [ 1129 "test/audioproc_float.cc", 1130 "test/audioproc_float.h", 1131 ] 1132 1133 deps = [ 1134 ":scoped_refptr", 1135 "../modules/audio_processing", 1136 "../modules/audio_processing:audioproc_f_impl", 1137 "audio:audio_processing", 1138 "audio:builtin_audio_processing_builder", 1139 "//third_party/abseil-cpp/absl/base:nullability", 1140 ] 1141 } 1142 1143 rtc_library("neteq_simulator_factory") { 1144 visibility = [ "*" ] 1145 testonly = true 1146 sources = [ 1147 "test/neteq_simulator_factory.cc", 1148 "test/neteq_simulator_factory.h", 1149 ] 1150 deps = [ 1151 ":neteq_simulator_api", 1152 "../modules/audio_coding:neteq_test_factory", 1153 "../rtc_base:checks", 1154 "neteq:neteq_api", 1155 "//third_party/abseil-cpp/absl/flags:flag", 1156 "//third_party/abseil-cpp/absl/flags:parse", 1157 "//third_party/abseil-cpp/absl/strings:string_view", 1158 ] 1159 } 1160 } 1161 1162 rtc_source_set("simulcast_test_fixture_api") { 1163 visibility = [ "*" ] 1164 testonly = true 1165 sources = [ "test/simulcast_test_fixture.h" ] 1166 } 1167 1168 rtc_library("create_simulcast_test_fixture_api") { 1169 visibility = [ "*" ] 1170 testonly = true 1171 sources = [ 1172 "test/create_simulcast_test_fixture.cc", 1173 "test/create_simulcast_test_fixture.h", 1174 ] 1175 deps = [ 1176 ":simulcast_test_fixture_api", 1177 "../modules/video_coding:simulcast_test_fixture_impl", 1178 "video_codecs:video_codecs_api", 1179 ] 1180 } 1181 1182 rtc_library("videocodec_test_stats_api") { 1183 visibility = [ "*" ] 1184 testonly = true 1185 sources = [ 1186 "test/videocodec_test_stats.cc", 1187 "test/videocodec_test_stats.h", 1188 ] 1189 deps = [ 1190 "../api/units:data_rate", 1191 "../api/units:frequency", 1192 "../rtc_base:stringutils", 1193 "video:video_frame_type", 1194 ] 1195 } 1196 1197 rtc_library("videocodec_test_fixture_api") { 1198 visibility = [ "*" ] 1199 testonly = true 1200 sources = [ "test/videocodec_test_fixture.h" ] 1201 deps = [ 1202 ":field_trials", 1203 ":videocodec_test_stats_api", 1204 "../modules/video_coding:codec_globals_headers", 1205 "../modules/video_coding:video_codec_interface", 1206 "video:encoded_image", 1207 "video:video_frame", 1208 "video_codecs:video_codecs_api", 1209 ] 1210 } 1211 1212 rtc_library("create_videocodec_test_fixture_api") { 1213 visibility = [ "*" ] 1214 testonly = true 1215 sources = [ 1216 "test/create_videocodec_test_fixture.cc", 1217 "test/create_videocodec_test_fixture.h", 1218 ] 1219 deps = [ 1220 ":videocodec_test_fixture_api", 1221 "../modules/video_coding:video_codecs_test_framework", 1222 "../modules/video_coding:videocodec_test_impl", 1223 "video_codecs:video_codecs_api", 1224 ] 1225 } 1226 1227 rtc_source_set("mock_audio_mixer") { 1228 visibility = [ "*" ] 1229 testonly = true 1230 sources = [ "test/mock_audio_mixer.h" ] 1231 1232 deps = [ 1233 "../test:test_support", 1234 "audio:audio_frame_api", 1235 "audio:audio_mixer_api", 1236 ] 1237 } 1238 1239 rtc_source_set("mock_audio_sink") { 1240 visibility = [ "*" ] 1241 testonly = true 1242 sources = [ "test/mock_audio_sink.h" ] 1243 1244 deps = [ 1245 "../api:media_stream_interface", 1246 "../test:test_support", 1247 ] 1248 } 1249 1250 rtc_source_set("mock_data_channel") { 1251 visibility = [ "*" ] 1252 testonly = true 1253 sources = [ "test/mock_data_channel.h" ] 1254 1255 deps = [ 1256 ":libjingle_peerconnection_api", 1257 ":priority", 1258 ":rtc_error", 1259 ":scoped_refptr", 1260 "../rtc_base:refcount", 1261 "../test:test_support", 1262 "//third_party/abseil-cpp/absl/functional:any_invocable", 1263 ] 1264 } 1265 1266 rtc_source_set("mock_dtmf_sender") { 1267 visibility = [ "*" ] 1268 testonly = true 1269 sources = [ "test/mock_dtmf_sender.h" ] 1270 1271 deps = [ 1272 ":dtmf_sender_interface", 1273 ":libjingle_peerconnection_api", 1274 ":make_ref_counted", 1275 ":scoped_refptr", 1276 "../rtc_base:refcount", 1277 "../test:test_support", 1278 ] 1279 } 1280 1281 rtc_source_set("mock_fec_controller_override") { 1282 visibility = [ "*" ] 1283 testonly = true 1284 sources = [ "test/mock_fec_controller_override.h" ] 1285 deps = [ 1286 ":fec_controller_api", 1287 "../test:test_support", 1288 ] 1289 } 1290 1291 rtc_library("mock_frame_encryptor") { 1292 visibility = [ "*" ] 1293 testonly = true 1294 sources = [ "test/mock_frame_encryptor.h" ] 1295 deps = [ 1296 ":array_view", 1297 ":rtp_parameters", 1298 1299 # For api/crypto/frame_encryptor_interface.h 1300 ":libjingle_peerconnection_api", 1301 "../test:test_support", 1302 "crypto:frame_encryptor_interface", 1303 ] 1304 } 1305 1306 rtc_library("mock_frame_decryptor") { 1307 visibility = [ "*" ] 1308 testonly = true 1309 sources = [ "test/mock_frame_decryptor.h" ] 1310 deps = [ 1311 ":array_view", 1312 ":libjingle_peerconnection_api", 1313 ":rtp_parameters", 1314 "../test:test_support", 1315 "crypto:frame_decryptor_interface", 1316 ] 1317 } 1318 1319 rtc_library("mock_frame_transformer") { 1320 visibility = [ "*" ] 1321 testonly = true 1322 sources = [ "test/mock_frame_transformer.h" ] 1323 deps = [ 1324 ":frame_transformer_interface", 1325 ":scoped_refptr", 1326 "../test:test_support", 1327 ] 1328 } 1329 1330 rtc_library("mock_encoder_selector") { 1331 visibility = [ "*" ] 1332 testonly = true 1333 sources = [ "test/mock_encoder_selector.h" ] 1334 deps = [ 1335 ":libjingle_peerconnection_api", 1336 "../api/video_codecs:video_codecs_api", 1337 "../test:test_support", 1338 "units:data_rate", 1339 "video:render_resolution", 1340 ] 1341 } 1342 1343 rtc_library("fake_frame_encryptor") { 1344 visibility = [ "*" ] 1345 testonly = true 1346 sources = [ 1347 "test/fake_frame_encryptor.cc", 1348 "test/fake_frame_encryptor.h", 1349 ] 1350 deps = [ 1351 ":array_view", 1352 ":libjingle_peerconnection_api", 1353 ":make_ref_counted", 1354 ":ref_count", 1355 ":rtp_parameters", 1356 "../rtc_base:checks", 1357 "../rtc_base:refcount", 1358 "crypto:frame_encryptor_interface", 1359 ] 1360 } 1361 1362 rtc_library("fake_frame_decryptor") { 1363 visibility = [ "*" ] 1364 testonly = true 1365 sources = [ 1366 "test/fake_frame_decryptor.cc", 1367 "test/fake_frame_decryptor.h", 1368 ] 1369 deps = [ 1370 ":array_view", 1371 ":libjingle_peerconnection_api", 1372 ":make_ref_counted", 1373 ":rtp_parameters", 1374 "../rtc_base:checks", 1375 "crypto:frame_decryptor_interface", 1376 ] 1377 } 1378 1379 rtc_source_set("mock_media_stream_interface") { 1380 visibility = [ "*" ] 1381 testonly = true 1382 sources = [ "test/mock_media_stream_interface.h" ] 1383 1384 deps = [ 1385 ":audio_options_api", 1386 ":media_stream_interface", 1387 ":scoped_refptr", 1388 "../rtc_base:refcount", 1389 "../test:test_support", 1390 ] 1391 } 1392 1393 rtc_source_set("mock_packet_socket_factory") { 1394 visibility = [ "*" ] 1395 testonly = true 1396 sources = [ "test/mock_packet_socket_factory.h" ] 1397 1398 deps = [ 1399 ":async_dns_resolver", 1400 ":packet_socket_factory", 1401 "../rtc_base:async_packet_socket", 1402 "../rtc_base:socket_address", 1403 "../test:test_support", 1404 "environment", 1405 ] 1406 } 1407 1408 rtc_source_set("mock_peerconnectioninterface") { 1409 visibility = [ "*" ] 1410 testonly = true 1411 sources = [ "test/mock_peerconnectioninterface.h" ] 1412 1413 deps = [ 1414 ":candidate", 1415 ":data_channel_event_observer_interface", 1416 ":dtls_transport_interface", 1417 ":libjingle_logging_api", 1418 ":libjingle_peerconnection_api", 1419 ":make_ref_counted", 1420 ":media_stream_interface", 1421 ":ref_count", 1422 ":rtc_error", 1423 ":rtc_stats_api", 1424 ":rtp_parameters", 1425 "../api:scoped_refptr", 1426 "../rtc_base:refcount", 1427 "../rtc_base:threading", 1428 "../test:test_support", 1429 "adaptation:resource_adaptation_api", 1430 "transport:bandwidth_estimation_settings", 1431 "transport:bitrate_settings", 1432 "transport:network_control", 1433 ] 1434 } 1435 1436 rtc_source_set("mock_peer_connection_factory_interface") { 1437 visibility = [ "*" ] 1438 testonly = true 1439 sources = [ "test/mock_peer_connection_factory_interface.h" ] 1440 1441 deps = [ 1442 ":audio_options_api", 1443 ":libjingle_peerconnection_api", 1444 ":media_stream_interface", 1445 ":rtc_error", 1446 ":rtp_parameters", 1447 ":scoped_refptr", 1448 "../rtc_base:refcount", 1449 "../test:test_support", 1450 "//third_party/abseil-cpp/absl/strings:string_view", 1451 ] 1452 } 1453 1454 rtc_source_set("mock_transformable_frame") { 1455 visibility = [ "*" ] 1456 testonly = true 1457 sources = [ "test/mock_transformable_frame.h" ] 1458 deps = [ 1459 ":array_view", 1460 ":frame_transformer_interface", 1461 "../test:test_support", 1462 "units:time_delta", 1463 "units:timestamp", 1464 ] 1465 } 1466 1467 rtc_source_set("mock_async_dns_resolver") { 1468 visibility = [ "*" ] 1469 testonly = true 1470 sources = [ "test/mock_async_dns_resolver.h" ] 1471 deps = [ 1472 ":async_dns_resolver", 1473 "../rtc_base:socket_address", 1474 "../test:test_support", 1475 "//third_party/abseil-cpp/absl/functional:any_invocable", 1476 ] 1477 } 1478 1479 rtc_library("mock_local_network_access_permission") { 1480 visibility = [ "*" ] 1481 testonly = true 1482 sources = [ 1483 "test/mock_local_network_access_permission.cc", 1484 "test/mock_local_network_access_permission.h", 1485 ] 1486 deps = [ 1487 ":local_network_access_permission", 1488 "../rtc_base:socket_address", 1489 "../rtc_base:threading", 1490 "../test:test_support", 1491 "//third_party/abseil-cpp/absl/functional:any_invocable", 1492 ] 1493 } 1494 1495 rtc_source_set("mock_rtp") { 1496 visibility = [ "*" ] 1497 testonly = true 1498 sources = [ 1499 "test/mock_rtp_transceiver.h", 1500 "test/mock_rtpreceiver.h", 1501 "test/mock_rtpsender.h", 1502 ] 1503 1504 deps = [ 1505 ":array_view", 1506 ":dtls_transport_interface", 1507 ":frame_transformer_interface", 1508 ":libjingle_peerconnection_api", 1509 ":make_ref_counted", 1510 ":media_stream_interface", 1511 ":rtc_error", 1512 ":rtp_parameters", 1513 ":rtp_sender_interface", 1514 ":rtp_transceiver_direction", 1515 ":scoped_refptr", 1516 "../api/crypto:frame_decryptor_interface", 1517 "../rtc_base:refcount", 1518 "../test:test_support", 1519 "crypto:frame_encryptor_interface", 1520 "transport/rtp:rtp_source", 1521 "video_codecs:video_codecs_api", 1522 ] 1523 } 1524 1525 rtc_source_set("mock_transformable_audio_frame") { 1526 visibility = [ "*" ] 1527 testonly = true 1528 sources = [ "test/mock_transformable_audio_frame.h" ] 1529 1530 deps = [ 1531 ":array_view", 1532 ":frame_transformer_interface", 1533 "../api/units:timestamp", 1534 "../test:test_support", 1535 "units:time_delta", 1536 ] 1537 } 1538 1539 rtc_source_set("mock_transformable_video_frame") { 1540 visibility = [ "*" ] 1541 testonly = true 1542 sources = [ "test/mock_transformable_video_frame.h" ] 1543 1544 deps = [ 1545 ":array_view", 1546 ":frame_transformer_interface", 1547 "../test:test_support", 1548 "units:time_delta", 1549 "units:timestamp", 1550 "video:video_frame_metadata", 1551 ] 1552 } 1553 1554 rtc_source_set("mock_video_bitrate_allocator") { 1555 visibility = [ "*" ] 1556 testonly = true 1557 sources = [ "test/mock_video_bitrate_allocator.h" ] 1558 1559 deps = [ 1560 "../api/video:video_bitrate_allocator", 1561 "../test:test_support", 1562 "video:video_bitrate_allocation", 1563 ] 1564 } 1565 1566 rtc_source_set("mock_video_bitrate_allocator_factory") { 1567 visibility = [ "*" ] 1568 testonly = true 1569 sources = [ "test/mock_video_bitrate_allocator_factory.h" ] 1570 1571 deps = [ 1572 "../api/video:video_bitrate_allocator_factory", 1573 "../test:test_support", 1574 "environment", 1575 "video:video_bitrate_allocator", 1576 "video_codecs:video_codecs_api", 1577 ] 1578 } 1579 1580 rtc_source_set("mock_video_codec_factory") { 1581 visibility = [ "*" ] 1582 testonly = true 1583 sources = [ 1584 "test/mock_video_decoder_factory.h", 1585 "test/mock_video_encoder_factory.h", 1586 ] 1587 1588 deps = [ 1589 "../api/video_codecs:video_codecs_api", 1590 "../test:test_support", 1591 "environment", 1592 ] 1593 } 1594 1595 rtc_library("mock_video_decoder") { 1596 visibility = [ "*" ] 1597 testonly = true 1598 sources = [ "test/mock_video_decoder.h" ] 1599 1600 deps = [ 1601 "../api/video_codecs:video_codecs_api", 1602 "../test:test_support", 1603 "video:encoded_image", 1604 "video:video_frame", 1605 ] 1606 } 1607 1608 rtc_library("mock_video_encoder") { 1609 visibility = [ "*" ] 1610 testonly = true 1611 sources = [ "test/mock_video_encoder.h" ] 1612 1613 deps = [ 1614 ":fec_controller_api", 1615 "../api/video_codecs:video_codecs_api", 1616 "../test:test_support", 1617 "video:encoded_image", 1618 "video:video_frame", 1619 "video:video_frame_type", 1620 ] 1621 } 1622 1623 rtc_library("mock_video_track") { 1624 visibility = [ "*" ] 1625 testonly = true 1626 sources = [ "test/mock_video_track.h" ] 1627 1628 deps = [ 1629 ":ref_count", 1630 "../api:media_stream_interface", 1631 "../api:scoped_refptr", 1632 "../rtc_base:refcount", 1633 "../test:test_support", 1634 "video:video_frame", 1635 ] 1636 } 1637 1638 rtc_library("mock_datagram_connection_observer") { 1639 visibility = [ "*" ] 1640 testonly = true 1641 sources = [ "test/mock_datagram_connection_observer.h" ] 1642 deps = [ 1643 "../api:datagram_connection", 1644 "//test:test_support", 1645 "//testing/gmock", 1646 ] 1647 } 1648 1649 rtc_library("create_time_controller") { 1650 visibility = [ "*" ] 1651 testonly = true 1652 sources = [ 1653 "test/create_time_controller.cc", 1654 "test/create_time_controller.h", 1655 ] 1656 1657 deps = [ 1658 ":time_controller", 1659 "../test/time_controller", 1660 "units:timestamp", 1661 ] 1662 } 1663 1664 rtc_library("rtc_api_unittests") { 1665 testonly = true 1666 1667 sources = [ 1668 "array_view_unittest.cc", 1669 "candidate_unittest.cc", 1670 "field_trials_unittest.cc", 1671 "function_view_unittest.cc", 1672 "jsep_unittest.cc", 1673 "rtc_error_unittest.cc", 1674 "rtc_event_log_output_file_unittest.cc", 1675 "rtp_packet_info_unittest.cc", 1676 "rtp_packet_infos_unittest.cc", 1677 "rtp_parameters_unittest.cc", 1678 "scoped_refptr_unittest.cc", 1679 "sequence_checker_unittest.cc", 1680 "test/peerconnection_quality_test_fixture_unittest.cc", 1681 ] 1682 1683 deps = [ 1684 ":array_view", 1685 ":candidate", 1686 ":field_trials", 1687 ":field_trials_view", 1688 ":function_view", 1689 ":libjingle_peerconnection_api", 1690 ":rtc_error", 1691 ":rtc_event_log_output_file", 1692 ":rtp_headers", 1693 ":rtp_packet_info", 1694 ":rtp_parameters", 1695 ":scoped_refptr", 1696 ":sequence_checker", 1697 "../p2p:p2p_constants", 1698 "../rtc_base:buffer", 1699 "../rtc_base:checks", 1700 "../rtc_base:logging", 1701 "../rtc_base:macromagic", 1702 "../rtc_base:platform_thread", 1703 "../rtc_base:rtc_event", 1704 "../rtc_base:socket_address", 1705 "../rtc_base:task_queue_for_test", 1706 "../rtc_base/containers:flat_set", 1707 "../rtc_base/synchronization:sequence_checker_internal", 1708 "../test:fileutils", 1709 "../test:test_support", 1710 "audio_codecs/opus:unittests", 1711 "environment:environment_unittests", 1712 "task_queue:task_queue_default_factory_unittests", 1713 "test/pclf:media_configuration", 1714 "test/video:video_frame_writer", 1715 "units:time_delta", 1716 "units:timestamp", 1717 "units:units_unittests", 1718 "video:frame_buffer_unittest", 1719 "video:rtp_video_frame_assembler_unittests", 1720 "video:video_frame", 1721 "video:video_frame_metadata_unittest", 1722 "video/corruption_detection:frame_instrumentation_data_reader_unittest", 1723 "video/corruption_detection:frame_instrumentation_data_unittest", 1724 "video/corruption_detection:frame_instrumentation_evaluation_unittest", 1725 "video/corruption_detection:frame_instrumentation_generator_unittest", 1726 "//third_party/abseil-cpp/absl/functional:any_invocable", 1727 "//third_party/abseil-cpp/absl/strings", 1728 "//third_party/abseil-cpp/absl/strings:string_view", 1729 ] 1730 1731 if (rtc_use_h265) { 1732 deps += [ "video:rtp_video_frame_h265_assembler_unittests" ] 1733 } 1734 } 1735 1736 rtc_library("compile_all_headers") { 1737 testonly = true 1738 1739 sources = [ "test/compile_all_headers.cc" ] 1740 1741 deps = [ 1742 ":fake_frame_decryptor", 1743 ":fake_frame_encryptor", 1744 ":mock_async_dns_resolver", 1745 ":mock_audio_mixer", 1746 ":mock_audio_sink", 1747 ":mock_data_channel", 1748 ":mock_dtmf_sender", 1749 ":mock_frame_decryptor", 1750 ":mock_frame_encryptor", 1751 ":mock_media_stream_interface", 1752 ":mock_packet_socket_factory", 1753 ":mock_peer_connection_factory_interface", 1754 ":mock_peerconnectioninterface", 1755 ":mock_rtp", 1756 ":mock_transformable_audio_frame", 1757 ":mock_transformable_frame", 1758 ":mock_transformable_video_frame", 1759 ":mock_video_bitrate_allocator", 1760 ":mock_video_bitrate_allocator_factory", 1761 ":mock_video_codec_factory", 1762 ":mock_video_decoder", 1763 ":mock_video_encoder", 1764 ":mock_video_track", 1765 ":rtc_api_unittests", 1766 "units:units_unittests", 1767 ] 1768 } 1769 } 1770 1771 rtc_library("field_trials_registry") { 1772 visibility = [ "*" ] 1773 sources = [ 1774 "field_trials_registry.cc", 1775 "field_trials_registry.h", 1776 ] 1777 deps = [ 1778 ":field_trials_view", 1779 "../experiments:registered_field_trials", 1780 "../rtc_base:checks", 1781 "../rtc_base:logging", 1782 "../rtc_base/containers:flat_set", 1783 "../rtc_base/system:rtc_export", 1784 "//third_party/abseil-cpp/absl/algorithm:container", 1785 "//third_party/abseil-cpp/absl/strings:string_view", 1786 ] 1787 } 1788 1789 rtc_source_set("field_trials_view") { 1790 visibility = [ "*" ] 1791 sources = [ "field_trials_view.h" ] 1792 deps = [ 1793 "../rtc_base:checks", 1794 "../rtc_base/system:rtc_export", 1795 "//third_party/abseil-cpp/absl/strings", 1796 "//third_party/abseil-cpp/absl/strings:string_view", 1797 ] 1798 } 1799 1800 rtc_library("field_trials") { 1801 visibility = [ "*" ] 1802 1803 # Internally webrtc shouldn't create or modify field trials, and should use 1804 # FieldTrials through the FieldTrialsView interface that is usually propagated 1805 # with Environment. 1806 poisonous = [ "environment_construction" ] 1807 sources = [ 1808 "field_trials.cc", 1809 "field_trials.h", 1810 ] 1811 deps = [ 1812 ":field_trials_registry", 1813 ":field_trials_view", 1814 "../rtc_base:checks", 1815 "../rtc_base/containers:flat_map", 1816 "//third_party/abseil-cpp/absl/base:nullability", 1817 "//third_party/abseil-cpp/absl/memory", 1818 "//third_party/abseil-cpp/absl/strings:string_view", 1819 ] 1820 } 1821 1822 rtc_library("frame_transformer_factory") { 1823 visibility = [ "*" ] 1824 sources = [ 1825 "frame_transformer_factory.cc", 1826 "frame_transformer_factory.h", 1827 ] 1828 deps = [ 1829 ":frame_transformer_interface", 1830 ":ref_count", 1831 ":scoped_refptr", 1832 "../audio", 1833 "../modules/rtp_rtcp", 1834 "../rtc_base:checks", 1835 "../rtc_base/system:rtc_export", 1836 "video:encoded_frame", 1837 "video:video_frame_metadata", 1838 ] 1839 }