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 9import("../webrtc.gni") 10if (is_android) { 11 import("//build/config/android/config.gni") 12 import("//build/config/android/rules.gni") 13} 14 15group("api") { 16 visibility = [ "*" ] 17 deps = [] 18 19 if (!build_with_mozilla) { 20 deps += [ ":libjingle_peerconnection_api" ] 21 } 22} 23 24rtc_source_set("call_api") { 25 visibility = [ "*" ] 26 sources = [ "call/audio_sink.h" ] 27} 28 29rtc_source_set("callfactory_api") { 30 visibility = [ "*" ] 31 sources = [ "call/call_factory_interface.h" ] 32 deps = [ 33 "../call:rtp_interfaces", 34 "../rtc_base/system:rtc_export", 35 ] 36} 37 38if (!build_with_chromium) { 39 rtc_library("create_peerconnection_factory") { 40 visibility = [ "*" ] 41 allow_poison = [ "default_task_queue" ] 42 sources = [ 43 "create_peerconnection_factory.cc", 44 "create_peerconnection_factory.h", 45 ] 46 deps = [ 47 ":callfactory_api", 48 ":libjingle_peerconnection_api", 49 ":scoped_refptr", 50 "../api/rtc_event_log:rtc_event_log_factory", 51 "../media:rtc_audio_video", 52 "../media:rtc_media_base", 53 "../modules/audio_device:audio_device_api", 54 "../modules/audio_processing:api", 55 "../pc:peer_connection_factory", 56 "../pc:webrtc_sdp", 57 "../rtc_base", 58 "../rtc_base:threading", 59 "../stats:rtc_stats", 60 "audio:audio_mixer_api", 61 "audio_codecs:audio_codecs_api", 62 "task_queue:default_task_queue_factory", 63 "transport:field_trial_based_config", 64 "video_codecs:video_codecs_api", 65 ] 66 } 67} 68 69rtc_library("rtp_headers") { 70 visibility = [ "*" ] 71 sources = [ 72 "rtp_headers.cc", 73 "rtp_headers.h", 74 ] 75 deps = [ 76 ":array_view", 77 "units:timestamp", 78 "video:video_rtp_headers", 79 ] 80 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 81} 82 83rtc_library("rtp_packet_info") { 84 visibility = [ "*" ] 85 sources = [ 86 "rtp_packet_info.cc", 87 "rtp_packet_info.h", 88 "rtp_packet_infos.h", 89 ] 90 deps = [ 91 ":array_view", 92 ":make_ref_counted", 93 ":refcountedbase", 94 ":rtp_headers", 95 ":scoped_refptr", 96 "../rtc_base/system:rtc_export", 97 "units:time_delta", 98 "units:timestamp", 99 ] 100 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 101} 102 103rtc_source_set("video_track_source_constraints") { 104 visibility = [ "*" ] 105 sources = [ "video_track_source_constraints.h" ] 106 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 107} 108 109rtc_library("media_stream_interface") { 110 visibility = [ "*" ] 111 sources = [ 112 "media_stream_interface.cc", 113 "media_stream_interface.h", 114 "media_stream_track.h", 115 "notifier.h", 116 ] 117 deps = [ 118 ":audio_options_api", 119 ":make_ref_counted", 120 ":rtp_parameters", 121 ":scoped_refptr", 122 ":sequence_checker", 123 ":video_track_source_constraints", 124 "../modules/audio_processing:audio_processing_statistics", 125 "../rtc_base:checks", 126 "../rtc_base:refcount", 127 "../rtc_base/system:no_unique_address", 128 "../rtc_base/system:rtc_export", 129 "video:recordable_encoded_frame", 130 "video:video_frame", 131 ] 132 absl_deps = [ 133 "//third_party/abseil-cpp/absl/strings", 134 "//third_party/abseil-cpp/absl/types:optional", 135 ] 136} 137 138rtc_library("candidate") { 139 visibility = [ "*" ] 140 141 sources = [ 142 "candidate.cc", 143 "candidate.h", 144 ] 145 deps = [ 146 "../rtc_base", 147 "../rtc_base:checks", 148 "../rtc_base:ip_address", 149 "../rtc_base:logging", 150 "../rtc_base:network_constants", 151 "../rtc_base:socket_address", 152 "../rtc_base:stringutils", 153 "../rtc_base/system:rtc_export", 154 ] 155 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 156} 157 158rtc_source_set("turn_customizer") { 159 visibility = [ "*" ] 160 sources = [ "turn_customizer.h" ] 161 deps = [ "transport:stun_types" ] 162} 163 164rtc_source_set("ice_transport_interface") { 165 visibility = [ "*" ] 166 167 sources = [ "ice_transport_interface.h" ] 168 deps = [ 169 ":async_dns_resolver", 170 ":packet_socket_factory", 171 ":rtc_error", 172 ":scoped_refptr", 173 "../rtc_base:refcount", 174 "rtc_event_log:rtc_event_log", 175 ] 176} 177 178rtc_library("dtls_transport_interface") { 179 visibility = [ "*" ] 180 181 sources = [ 182 "dtls_transport_interface.cc", 183 "dtls_transport_interface.h", 184 ] 185 deps = [ 186 ":ice_transport_interface", 187 ":rtc_error", 188 ":scoped_refptr", 189 "../rtc_base", 190 "../rtc_base:refcount", 191 "../rtc_base/system:rtc_export", 192 ] 193 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 194} 195 196rtc_library("dtmf_sender_interface") { 197 visibility = [ "*" ] 198 199 sources = [ "dtmf_sender_interface.h" ] 200 deps = [ 201 ":media_stream_interface", 202 "../rtc_base:refcount", 203 ] 204} 205 206rtc_library("rtp_sender_interface") { 207 visibility = [ "*" ] 208 209 sources = [ 210 "rtp_sender_interface.cc", 211 "rtp_sender_interface.h", 212 ] 213 deps = [ 214 ":dtls_transport_interface", 215 ":dtmf_sender_interface", 216 ":frame_transformer_interface", 217 ":media_stream_interface", 218 ":rtc_error", 219 ":rtp_parameters", 220 ":scoped_refptr", 221 "../rtc_base:checks", 222 "../rtc_base:refcount", 223 "../rtc_base/system:rtc_export", 224 "crypto:frame_encryptor_interface", 225 "video_codecs:video_codecs_api", 226 ] 227 absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ] 228} 229 230rtc_library("libjingle_peerconnection_api") { 231 visibility = [ "*" ] 232 cflags = [] 233 sources = [ 234 "crypto_params.h", 235 "data_channel_interface.cc", 236 "data_channel_interface.h", 237 "jsep.cc", 238 "jsep.h", 239 "jsep_ice_candidate.cc", 240 "jsep_ice_candidate.h", 241 "jsep_session_description.h", 242 "legacy_stats_types.cc", 243 "legacy_stats_types.h", 244 "peer_connection_interface.cc", 245 "peer_connection_interface.h", 246 "rtp_receiver_interface.cc", 247 "rtp_receiver_interface.h", 248 "rtp_transceiver_interface.cc", 249 "rtp_transceiver_interface.h", 250 "sctp_transport_interface.cc", 251 "sctp_transport_interface.h", 252 "set_local_description_observer_interface.h", 253 "set_remote_description_observer_interface.h", 254 "uma_metrics.h", 255 "video_track_source_proxy_factory.h", 256 257 # Remove when downstream has been updated 258 "dtmf_sender_interface.h", 259 "rtp_sender_interface.h", 260 ] 261 public_deps = [ # no-presubmit-check TODO(webrtc:8603) 262 # Remove when downstream has been updated 263 ":dtmf_sender_interface", 264 ":rtp_sender_interface", 265 ] 266 deps = [ 267 ":array_view", 268 ":async_dns_resolver", 269 ":audio_options_api", 270 ":callfactory_api", 271 ":candidate", 272 ":dtls_transport_interface", 273 ":fec_controller_api", 274 ":field_trials", 275 ":field_trials_view", 276 ":frame_transformer_interface", 277 ":ice_transport_interface", 278 ":libjingle_logging_api", 279 ":make_ref_counted", 280 ":media_stream_interface", 281 ":network_state_predictor_api", 282 ":packet_socket_factory", 283 ":priority", 284 ":rtc_error", 285 ":rtc_stats_api", 286 ":rtp_packet_info", 287 ":rtp_parameters", 288 ":rtp_sender_interface", 289 ":rtp_transceiver_direction", 290 ":scoped_refptr", 291 ":sequence_checker", 292 ":turn_customizer", 293 "../call:rtp_interfaces", 294 "../p2p:rtc_p2p", 295 "../rtc_base:copy_on_write_buffer", 296 "../rtc_base:logging", 297 "../rtc_base:network_constants", 298 "../rtc_base:refcount", 299 "../rtc_base:stringutils", 300 "adaptation:resource_adaptation_api", 301 "audio:audio_mixer_api", 302 "audio_codecs:audio_codecs_api", 303 "crypto:frame_decryptor_interface", 304 "crypto:frame_encryptor_interface", 305 "crypto:options", 306 "metronome", 307 "neteq:neteq_api", 308 "rtc_event_log", 309 "task_queue", 310 "transport:bitrate_settings", 311 "transport:enums", 312 "transport:network_control", 313 "transport:sctp_transport_factory_interface", 314 "transport/rtp:rtp_source", 315 "units:data_rate", 316 "units:timestamp", 317 "video:encoded_image", 318 "video:video_bitrate_allocator_factory", 319 "video:video_frame", 320 "video:video_rtp_headers", 321 "video_codecs:video_codecs_api", 322 323 # Basically, don't add stuff here. You might break sensitive downstream 324 # targets like pnacl. API should not depend on anything outside of this 325 # file, really. All these should arguably go away in time. 326 "../media:rtc_media_base", 327 "../media:rtc_media_config", 328 "../modules/audio_processing:audio_processing_statistics", 329 "../rtc_base", 330 "../rtc_base:checks", 331 "../rtc_base:ip_address", 332 "../rtc_base:socket_address", 333 "../rtc_base:threading", 334 "../rtc_base/system:rtc_export", 335 ] 336 absl_deps = [ 337 "//third_party/abseil-cpp/absl/algorithm:container", 338 "//third_party/abseil-cpp/absl/base:core_headers", 339 "//third_party/abseil-cpp/absl/functional:any_invocable", 340 "//third_party/abseil-cpp/absl/memory", 341 "//third_party/abseil-cpp/absl/strings", 342 "//third_party/abseil-cpp/absl/types:optional", 343 ] 344} 345 346rtc_source_set("frame_transformer_interface") { 347 visibility = [ "*" ] 348 sources = [ "frame_transformer_interface.h" ] 349 deps = [ 350 ":make_ref_counted", 351 ":scoped_refptr", 352 "../rtc_base:refcount", 353 "video:encoded_frame", 354 "video:video_frame_metadata", 355 ] 356} 357 358rtc_library("rtc_error") { 359 visibility = [ "*" ] 360 sources = [ 361 "rtc_error.cc", 362 "rtc_error.h", 363 ] 364 deps = [ 365 "../rtc_base:checks", 366 "../rtc_base:logging", 367 "../rtc_base:macromagic", 368 "../rtc_base/system:rtc_export", 369 ] 370 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 371} 372 373rtc_source_set("packet_socket_factory") { 374 visibility = [ "*" ] 375 sources = [ 376 "async_resolver_factory.h", 377 "packet_socket_factory.h", 378 ] 379 deps = [ 380 ":async_dns_resolver", 381 ":wrapping_async_dns_resolver", 382 "../rtc_base:async_resolver_interface", 383 "../rtc_base:rtc_base", 384 "../rtc_base:socket_address", 385 "../rtc_base/system:rtc_export", 386 ] 387} 388 389rtc_source_set("async_dns_resolver") { 390 visibility = [ "*" ] 391 sources = [ "async_dns_resolver.h" ] 392 deps = [ 393 "../rtc_base:checks", 394 "../rtc_base:socket_address", 395 "../rtc_base/system:rtc_export", 396 ] 397} 398 399rtc_source_set("wrapping_async_dns_resolver") { 400 visibility = [ 401 ":*", 402 "../p2p:rtc_p2p", 403 ] 404 sources = [ 405 "wrapping_async_dns_resolver.cc", 406 "wrapping_async_dns_resolver.h", 407 ] 408 deps = [ 409 ":async_dns_resolver", 410 ":sequence_checker", 411 "../rtc_base:async_resolver_interface", 412 "../rtc_base:checks", 413 "../rtc_base:macromagic", 414 "../rtc_base:socket_address", 415 "../rtc_base:threading", 416 "../rtc_base/third_party/sigslot", 417 ] 418 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] 419} 420 421rtc_source_set("scoped_refptr") { 422 visibility = [ "*" ] 423 sources = [ "scoped_refptr.h" ] 424} 425 426rtc_source_set("make_ref_counted") { 427 visibility = [ "*" ] 428 sources = [ "make_ref_counted.h" ] 429 deps = [ "../rtc_base:refcount" ] 430} 431 432rtc_source_set("video_quality_test_fixture_api") { 433 visibility = [ "*" ] 434 testonly = true 435 sources = [ "test/video_quality_test_fixture.h" ] 436 deps = [ 437 ":fec_controller_api", 438 ":libjingle_peerconnection_api", 439 ":network_state_predictor_api", 440 ":rtp_parameters", 441 ":simulated_network_api", 442 "../call:fake_network", 443 "../call:rtp_interfaces", 444 "../test:test_common", 445 "../test:video_test_common", 446 "../video/config:encoder_config", 447 "transport:bitrate_settings", 448 "transport:network_control", 449 "video_codecs:video_codecs_api", 450 ] 451} 452 453rtc_source_set("video_quality_analyzer_api") { 454 visibility = [ "*" ] 455 testonly = true 456 sources = [ "test/video_quality_analyzer_interface.h" ] 457 458 deps = [ 459 ":array_view", 460 ":stats_observer_interface", 461 "video:encoded_image", 462 "video:video_frame", 463 "video:video_rtp_headers", 464 "video_codecs:video_codecs_api", 465 ] 466 absl_deps = [ 467 "//third_party/abseil-cpp/absl/strings", 468 "//third_party/abseil-cpp/absl/types:optional", 469 ] 470} 471 472rtc_source_set("track_id_stream_info_map") { 473 visibility = [ "*" ] 474 sources = [ "test/track_id_stream_info_map.h" ] 475 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 476} 477 478rtc_source_set("rtp_transceiver_direction") { 479 visibility = [ "*" ] 480 sources = [ "rtp_transceiver_direction.h" ] 481} 482 483rtc_source_set("priority") { 484 visibility = [ "*" ] 485 sources = [ "priority.h" ] 486} 487 488rtc_library("rtp_parameters") { 489 visibility = [ "*" ] 490 sources = [ 491 "media_types.cc", 492 "media_types.h", 493 "rtp_parameters.cc", 494 "rtp_parameters.h", 495 ] 496 deps = [ 497 ":array_view", 498 ":priority", 499 ":rtp_transceiver_direction", 500 "../rtc_base:checks", 501 "../rtc_base:stringutils", 502 "../rtc_base/system:rtc_export", 503 "video:resolution", 504 "video_codecs:scalability_mode", 505 ] 506 absl_deps = [ 507 "//third_party/abseil-cpp/absl/container:inlined_vector", 508 "//third_party/abseil-cpp/absl/strings", 509 "//third_party/abseil-cpp/absl/types:optional", 510 ] 511} 512 513if (is_android) { 514 java_cpp_enum("priority_enums") { 515 sources = [ "priority.h" ] 516 } 517} 518 519rtc_source_set("audio_quality_analyzer_api") { 520 visibility = [ "*" ] 521 testonly = true 522 sources = [ "test/audio_quality_analyzer_interface.h" ] 523 524 deps = [ 525 ":stats_observer_interface", 526 ":track_id_stream_info_map", 527 ] 528} 529 530rtc_source_set("stats_observer_interface") { 531 visibility = [ "*" ] 532 testonly = true 533 sources = [ "test/stats_observer_interface.h" ] 534 535 deps = [ ":rtc_stats_api" ] 536 537 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 538} 539 540rtc_source_set("peer_network_dependencies") { 541 visibility = [ "*" ] 542 sources = [ "test/peer_network_dependencies.h" ] 543 deps = [ 544 ":packet_socket_factory", 545 "../rtc_base", 546 "../rtc_base:threading", 547 ] 548} 549 550rtc_source_set("peer_connection_quality_test_fixture_api") { 551 visibility = [ "*" ] 552 testonly = true 553 sources = [ "test/peerconnection_quality_test_fixture.h" ] 554 555 deps = [ 556 ":array_view", 557 ":audio_quality_analyzer_api", 558 ":callfactory_api", 559 ":fec_controller_api", 560 ":frame_generator_api", 561 ":function_view", 562 ":libjingle_peerconnection_api", 563 ":media_stream_interface", 564 ":network_state_predictor_api", 565 ":packet_socket_factory", 566 ":peer_network_dependencies", 567 ":rtp_parameters", 568 ":simulated_network_api", 569 ":stats_observer_interface", 570 ":track_id_stream_info_map", 571 ":video_quality_analyzer_api", 572 "../media:rtc_media_base", 573 "../modules/audio_processing:api", 574 "../rtc_base:checks", 575 "../rtc_base:rtc_base", 576 "../rtc_base:stringutils", 577 "../rtc_base:threading", 578 "../test:fileutils", 579 "audio:audio_mixer_api", 580 "rtc_event_log", 581 "task_queue", 582 "test/pclf:media_configuration", 583 "test/pclf:media_quality_test_params", 584 "test/pclf:peer_configurer", 585 "test/video:video_frame_writer", 586 "transport:network_control", 587 "units:time_delta", 588 "video:video_frame", 589 "video_codecs:video_codecs_api", 590 ] 591 absl_deps = [ 592 "//third_party/abseil-cpp/absl/base:core_headers", 593 "//third_party/abseil-cpp/absl/memory", 594 "//third_party/abseil-cpp/absl/strings", 595 "//third_party/abseil-cpp/absl/types:optional", 596 ] 597} 598 599rtc_source_set("frame_generator_api") { 600 visibility = [ "*" ] 601 testonly = true 602 sources = [ 603 "test/frame_generator_interface.cc", 604 "test/frame_generator_interface.h", 605 ] 606 607 deps = [ 608 ":scoped_refptr", 609 "video:video_frame", 610 ] 611 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 612} 613 614rtc_library("test_dependency_factory") { 615 visibility = [ "*" ] 616 testonly = true 617 sources = [ 618 "test/test_dependency_factory.cc", 619 "test/test_dependency_factory.h", 620 ] 621 deps = [ 622 ":video_quality_test_fixture_api", 623 "../rtc_base:checks", 624 "../rtc_base:platform_thread_types", 625 ] 626} 627 628if (rtc_include_tests) { 629 # TODO(srte): Move to network_emulation sub directory. 630 rtc_library("create_network_emulation_manager") { 631 visibility = [ "*" ] 632 testonly = true 633 sources = [ 634 "test/create_network_emulation_manager.cc", 635 "test/create_network_emulation_manager.h", 636 ] 637 deps = [ 638 ":network_emulation_manager_api", 639 "../test/network:emulated_network", 640 ] 641 } 642 643 if (!build_with_chromium) { 644 rtc_library("create_video_quality_test_fixture_api") { 645 visibility = [ "*" ] 646 testonly = true 647 sources = [ 648 "test/create_video_quality_test_fixture.cc", 649 "test/create_video_quality_test_fixture.h", 650 ] 651 deps = [ 652 ":fec_controller_api", 653 ":network_state_predictor_api", 654 ":scoped_refptr", 655 ":video_quality_test_fixture_api", 656 "../video:video_quality_test", 657 ] 658 } 659 660 rtc_library("create_peerconnection_quality_test_fixture") { 661 visibility = [ "*" ] 662 testonly = true 663 sources = [ 664 "test/create_peerconnection_quality_test_fixture.cc", 665 "test/create_peerconnection_quality_test_fixture.h", 666 ] 667 668 deps = [ 669 ":audio_quality_analyzer_api", 670 ":peer_connection_quality_test_fixture_api", 671 ":time_controller", 672 ":video_quality_analyzer_api", 673 "../test/pc/e2e:peerconnection_quality_test", 674 "test/metrics:global_metrics_logger_and_exporter", 675 ] 676 } 677 } 678} 679 680rtc_library("create_frame_generator") { 681 visibility = [ "*" ] 682 testonly = true 683 sources = [ 684 "test/create_frame_generator.cc", 685 "test/create_frame_generator.h", 686 ] 687 deps = [ 688 ":frame_generator_api", 689 "../rtc_base:checks", 690 "../system_wrappers", 691 "../test:frame_generator_impl", 692 ] 693 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 694} 695 696rtc_library("create_peer_connection_quality_test_frame_generator") { 697 visibility = [ "*" ] 698 testonly = true 699 sources = [ 700 "test/create_peer_connection_quality_test_frame_generator.cc", 701 "test/create_peer_connection_quality_test_frame_generator.h", 702 ] 703 deps = [ 704 ":create_frame_generator", 705 ":frame_generator_api", 706 "../rtc_base:checks", 707 "../test:fileutils", 708 "test/pclf:media_configuration", 709 ] 710 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 711} 712 713rtc_source_set("libjingle_logging_api") { 714 visibility = [ "*" ] 715 sources = [ "rtc_event_log_output.h" ] 716 absl_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ] 717} 718 719rtc_library("rtc_event_log_output_file") { 720 visibility = [ "*" ] 721 sources = [ 722 "rtc_event_log_output_file.cc", 723 "rtc_event_log_output_file.h", 724 ] 725 726 deps = [ 727 ":libjingle_logging_api", 728 "../rtc_base:checks", 729 "../rtc_base:logging", 730 "../rtc_base/system:file_wrapper", 731 "rtc_event_log", 732 ] 733} 734 735rtc_source_set("rtc_stats_api") { 736 visibility = [ "*" ] 737 cflags = [] 738 sources = [ 739 "stats/rtc_stats.h", 740 "stats/rtc_stats_collector_callback.h", 741 "stats/rtc_stats_report.h", 742 "stats/rtcstats_objects.h", 743 ] 744 745 deps = [ 746 ":make_ref_counted", 747 ":scoped_refptr", 748 "../api:refcountedbase", 749 "../rtc_base:checks", 750 "../rtc_base:refcount", 751 "../rtc_base/system:rtc_export", 752 "units:timestamp", 753 ] 754 755 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 756} 757 758rtc_library("audio_options_api") { 759 visibility = [ "*" ] 760 sources = [ 761 "audio_options.cc", 762 "audio_options.h", 763 ] 764 765 deps = [ 766 ":array_view", 767 "../rtc_base:stringutils", 768 "../rtc_base/system:rtc_export", 769 ] 770 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 771} 772 773rtc_library("transport_api") { 774 visibility = [ "*" ] 775 sources = [ 776 "call/transport.cc", 777 "call/transport.h", 778 ] 779 deps = [ 780 ":refcountedbase", 781 ":scoped_refptr", 782 ] 783} 784 785rtc_source_set("bitrate_allocation") { 786 visibility = [ "*" ] 787 sources = [ "call/bitrate_allocation.h" ] 788 deps = [ 789 "units:data_rate", 790 "units:time_delta", 791 ] 792} 793 794# TODO(srte): Move to network_emulation sub directory. 795rtc_source_set("simulated_network_api") { 796 visibility = [ "*" ] 797 sources = [ "test/simulated_network.h" ] 798 deps = [ 799 "../rtc_base", 800 "../rtc_base:macromagic", 801 "../rtc_base:random", 802 ] 803 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 804} 805 806# TODO(srte): Move to network_emulation sub directory. 807rtc_source_set("network_emulation_manager_api") { 808 visibility = [ "*" ] 809 sources = [ 810 "test/network_emulation_manager.cc", 811 "test/network_emulation_manager.h", 812 ] 813 deps = [ 814 ":array_view", 815 ":packet_socket_factory", 816 ":peer_network_dependencies", 817 ":simulated_network_api", 818 ":time_controller", 819 "../call:simulated_network", 820 "../rtc_base", 821 "../rtc_base:checks", 822 "../rtc_base:network_constants", 823 "../rtc_base:threading", 824 "test/network_emulation", 825 "units:data_rate", 826 "units:data_size", 827 "units:timestamp", 828 ] 829} 830 831rtc_source_set("time_controller") { 832 visibility = [ "*" ] 833 sources = [ 834 "test/time_controller.cc", 835 "test/time_controller.h", 836 ] 837 838 deps = [ 839 "../rtc_base", 840 "../rtc_base:threading", 841 "../rtc_base/synchronization:yield_policy", 842 "../system_wrappers", 843 "task_queue", 844 "units:time_delta", 845 "units:timestamp", 846 ] 847} 848 849rtc_source_set("fec_controller_api") { 850 visibility = [ "*" ] 851 sources = [ 852 "fec_controller.h", 853 "fec_controller_override.h", 854 ] 855 856 deps = [ 857 "../modules:module_fec_api", 858 "video:video_frame_type", 859 ] 860} 861 862rtc_source_set("network_state_predictor_api") { 863 visibility = [ "*" ] 864 sources = [ "network_state_predictor.h" ] 865} 866 867rtc_source_set("array_view") { 868 visibility = [ "*" ] 869 sources = [ "array_view.h" ] 870 deps = [ 871 "../rtc_base:checks", 872 "../rtc_base:type_traits", 873 ] 874} 875 876rtc_source_set("refcountedbase") { 877 visibility = [ "*" ] 878 sources = [ "ref_counted_base.h" ] 879 deps = [ 880 "../rtc_base:macromagic", 881 "../rtc_base:refcount", 882 ] 883} 884 885rtc_library("ice_transport_factory") { 886 visibility = [ "*" ] 887 sources = [ 888 "ice_transport_factory.cc", 889 "ice_transport_factory.h", 890 ] 891 deps = [ 892 ":ice_transport_interface", 893 ":libjingle_peerconnection_api", 894 ":make_ref_counted", 895 ":packet_socket_factory", 896 ":scoped_refptr", 897 "../p2p:rtc_p2p", 898 "../rtc_base", 899 "../rtc_base:threading", 900 "../rtc_base/system:rtc_export", 901 "rtc_event_log:rtc_event_log", 902 ] 903} 904 905rtc_library("neteq_simulator_api") { 906 visibility = [ "*" ] 907 sources = [ 908 "test/neteq_simulator.cc", 909 "test/neteq_simulator.h", 910 ] 911} 912 913rtc_source_set("function_view") { 914 visibility = [ "*" ] 915 sources = [ "function_view.h" ] 916 deps = [ "../rtc_base:checks" ] 917} 918 919rtc_source_set("sequence_checker") { 920 visibility = [ "*" ] 921 sources = [ "sequence_checker.h" ] 922 deps = [ 923 "../rtc_base:checks", 924 "../rtc_base:macromagic", 925 "../rtc_base/synchronization:sequence_checker_internal", 926 ] 927} 928 929if (rtc_include_tests) { 930 if (rtc_enable_protobuf && !build_with_chromium) { 931 rtc_library("audioproc_f_api") { 932 visibility = [ "*" ] 933 testonly = true 934 sources = [ 935 "test/audioproc_float.cc", 936 "test/audioproc_float.h", 937 ] 938 939 deps = [ 940 "../modules/audio_processing", 941 "../modules/audio_processing:api", 942 "../modules/audio_processing:audioproc_f_impl", 943 ] 944 } 945 946 rtc_library("neteq_simulator_factory") { 947 visibility = [ "*" ] 948 testonly = true 949 sources = [ 950 "test/neteq_simulator_factory.cc", 951 "test/neteq_simulator_factory.h", 952 ] 953 deps = [ 954 ":neteq_simulator_api", 955 "../modules/audio_coding:neteq_test_factory", 956 "../rtc_base:checks", 957 "neteq:neteq_api", 958 ] 959 absl_deps = [ 960 "//third_party/abseil-cpp/absl/flags:flag", 961 "//third_party/abseil-cpp/absl/flags:parse", 962 "//third_party/abseil-cpp/absl/strings", 963 "//third_party/abseil-cpp/absl/types:optional", 964 ] 965 } 966 } 967 968 rtc_source_set("simulcast_test_fixture_api") { 969 visibility = [ "*" ] 970 testonly = true 971 sources = [ "test/simulcast_test_fixture.h" ] 972 } 973 974 rtc_library("create_simulcast_test_fixture_api") { 975 visibility = [ "*" ] 976 testonly = true 977 sources = [ 978 "test/create_simulcast_test_fixture.cc", 979 "test/create_simulcast_test_fixture.h", 980 ] 981 deps = [ 982 ":simulcast_test_fixture_api", 983 "../modules/video_coding:simulcast_test_fixture_impl", 984 "video_codecs:video_codecs_api", 985 ] 986 } 987 988 rtc_library("videocodec_test_fixture_api") { 989 visibility = [ "*" ] 990 testonly = true 991 sources = [ 992 "test/videocodec_test_fixture.h", 993 "test/videocodec_test_stats.cc", 994 "test/videocodec_test_stats.h", 995 ] 996 deps = [ 997 "../modules/video_coding:video_codec_interface", 998 "../rtc_base:stringutils", 999 "video:video_frame_type", 1000 "video_codecs:video_codecs_api", 1001 ] 1002 } 1003 1004 rtc_library("create_videocodec_test_fixture_api") { 1005 visibility = [ "*" ] 1006 testonly = true 1007 sources = [ 1008 "test/create_videocodec_test_fixture.cc", 1009 "test/create_videocodec_test_fixture.h", 1010 ] 1011 deps = [ 1012 ":videocodec_test_fixture_api", 1013 "../modules/video_coding:video_codecs_test_framework", 1014 "../modules/video_coding:videocodec_test_impl", 1015 "video_codecs:video_codecs_api", 1016 ] 1017 } 1018 1019 rtc_source_set("mock_audio_mixer") { 1020 visibility = [ "*" ] 1021 testonly = true 1022 sources = [ "test/mock_audio_mixer.h" ] 1023 1024 deps = [ 1025 "../test:test_support", 1026 "audio:audio_mixer_api", 1027 ] 1028 } 1029 1030 rtc_source_set("mock_audio_sink") { 1031 visibility = [ "*" ] 1032 testonly = true 1033 sources = [ "test/mock_audio_sink.h" ] 1034 1035 deps = [ 1036 "../api:media_stream_interface", 1037 "../test:test_support", 1038 ] 1039 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 1040 } 1041 1042 rtc_source_set("mock_data_channel") { 1043 visibility = [ "*" ] 1044 testonly = true 1045 sources = [ "test/mock_data_channel.h" ] 1046 1047 deps = [ 1048 ":libjingle_peerconnection_api", 1049 "../test:test_support", 1050 ] 1051 } 1052 1053 rtc_source_set("mock_dtmf_sender") { 1054 visibility = [ "*" ] 1055 testonly = true 1056 sources = [ "test/mock_dtmf_sender.h" ] 1057 1058 deps = [ 1059 ":dtmf_sender_interface", 1060 ":libjingle_peerconnection_api", 1061 "../test:test_support", 1062 ] 1063 } 1064 1065 rtc_source_set("mock_fec_controller_override") { 1066 visibility = [ "*" ] 1067 testonly = true 1068 sources = [ "test/mock_fec_controller_override.h" ] 1069 deps = [ 1070 ":fec_controller_api", 1071 "../test:test_support", 1072 ] 1073 } 1074 1075 rtc_library("mock_frame_encryptor") { 1076 visibility = [ "*" ] 1077 testonly = true 1078 sources = [ "test/mock_frame_encryptor.h" ] 1079 deps = [ 1080 # For api/crypto/frame_encryptor_interface.h 1081 ":libjingle_peerconnection_api", 1082 "../test:test_support", 1083 "crypto:frame_encryptor_interface", 1084 ] 1085 } 1086 1087 rtc_library("mock_frame_decryptor") { 1088 visibility = [ "*" ] 1089 testonly = true 1090 sources = [ "test/mock_frame_decryptor.h" ] 1091 deps = [ 1092 ":libjingle_peerconnection_api", 1093 "../test:test_support", 1094 "crypto:frame_decryptor_interface", 1095 ] 1096 } 1097 1098 rtc_library("mock_encoder_selector") { 1099 visibility = [ "*" ] 1100 testonly = true 1101 sources = [ "test/mock_encoder_selector.h" ] 1102 deps = [ 1103 ":libjingle_peerconnection_api", 1104 "../api/video_codecs:video_codecs_api", 1105 "../test:test_support", 1106 ] 1107 } 1108 1109 rtc_library("fake_frame_encryptor") { 1110 visibility = [ "*" ] 1111 testonly = true 1112 sources = [ 1113 "test/fake_frame_encryptor.cc", 1114 "test/fake_frame_encryptor.h", 1115 ] 1116 deps = [ 1117 ":array_view", 1118 ":libjingle_peerconnection_api", 1119 ":make_ref_counted", 1120 ":rtp_parameters", 1121 "../rtc_base:checks", 1122 "../rtc_base:refcount", 1123 "crypto:frame_encryptor_interface", 1124 ] 1125 } 1126 1127 rtc_library("fake_frame_decryptor") { 1128 visibility = [ "*" ] 1129 testonly = true 1130 sources = [ 1131 "test/fake_frame_decryptor.cc", 1132 "test/fake_frame_decryptor.h", 1133 ] 1134 deps = [ 1135 ":array_view", 1136 ":libjingle_peerconnection_api", 1137 ":make_ref_counted", 1138 ":rtp_parameters", 1139 "../rtc_base:checks", 1140 "crypto:frame_decryptor_interface", 1141 ] 1142 } 1143 1144 rtc_source_set("mock_media_stream_interface") { 1145 visibility = [ "*" ] 1146 testonly = true 1147 sources = [ "test/mock_media_stream_interface.h" ] 1148 1149 deps = [ 1150 ":media_stream_interface", 1151 "../test:test_support", 1152 ] 1153 } 1154 1155 rtc_source_set("mock_packet_socket_factory") { 1156 visibility = [ "*" ] 1157 testonly = true 1158 sources = [ "test/mock_packet_socket_factory.h" ] 1159 1160 deps = [ 1161 ":packet_socket_factory", 1162 "../test:test_support", 1163 ] 1164 } 1165 1166 rtc_source_set("mock_peerconnectioninterface") { 1167 visibility = [ "*" ] 1168 testonly = true 1169 sources = [ "test/mock_peerconnectioninterface.h" ] 1170 1171 deps = [ 1172 ":libjingle_peerconnection_api", 1173 "../api:scoped_refptr", 1174 "../rtc_base:refcount", 1175 "../test:test_support", 1176 ] 1177 } 1178 1179 rtc_source_set("mock_peer_connection_factory_interface") { 1180 visibility = [ "*" ] 1181 testonly = true 1182 sources = [ "test/mock_peer_connection_factory_interface.h" ] 1183 1184 deps = [ 1185 ":libjingle_peerconnection_api", 1186 "../test:test_support", 1187 ] 1188 } 1189 1190 rtc_source_set("mock_session_description_interface") { 1191 visibility = [ "*" ] 1192 testonly = true 1193 sources = [ "test/mock_session_description_interface.h" ] 1194 deps = [ 1195 ":libjingle_peerconnection_api", 1196 "../test:test_support", 1197 ] 1198 } 1199 1200 rtc_source_set("mock_async_dns_resolver") { 1201 visibility = [ "*" ] 1202 testonly = true 1203 sources = [ "test/mock_async_dns_resolver.h" ] 1204 deps = [ 1205 ":async_dns_resolver", 1206 "../test:test_support", 1207 ] 1208 } 1209 1210 rtc_source_set("mock_rtp") { 1211 visibility = [ "*" ] 1212 testonly = true 1213 sources = [ 1214 "test/mock_rtp_transceiver.h", 1215 "test/mock_rtpreceiver.h", 1216 "test/mock_rtpsender.h", 1217 ] 1218 1219 deps = [ 1220 ":libjingle_peerconnection_api", 1221 ":rtp_sender_interface", 1222 "../api/crypto:frame_decryptor_interface", 1223 "../test:test_support", 1224 ] 1225 } 1226 1227 rtc_source_set("mock_transformable_video_frame") { 1228 visibility = [ "*" ] 1229 testonly = true 1230 sources = [ "test/mock_transformable_video_frame.h" ] 1231 1232 deps = [ 1233 ":frame_transformer_interface", 1234 "../test:test_support", 1235 ] 1236 } 1237 1238 rtc_source_set("mock_video_bitrate_allocator") { 1239 visibility = [ "*" ] 1240 testonly = true 1241 sources = [ "test/mock_video_bitrate_allocator.h" ] 1242 1243 deps = [ 1244 "../api/video:video_bitrate_allocator", 1245 "../test:test_support", 1246 ] 1247 } 1248 1249 rtc_source_set("mock_video_bitrate_allocator_factory") { 1250 visibility = [ "*" ] 1251 testonly = true 1252 sources = [ "test/mock_video_bitrate_allocator_factory.h" ] 1253 1254 deps = [ 1255 "../api/video:video_bitrate_allocator_factory", 1256 "../test:test_support", 1257 ] 1258 } 1259 1260 rtc_source_set("mock_video_codec_factory") { 1261 visibility = [ "*" ] 1262 testonly = true 1263 sources = [ 1264 "test/mock_video_decoder_factory.h", 1265 "test/mock_video_encoder_factory.h", 1266 ] 1267 1268 deps = [ 1269 "../api/video_codecs:video_codecs_api", 1270 "../test:test_support", 1271 ] 1272 } 1273 1274 rtc_library("mock_video_decoder") { 1275 visibility = [ "*" ] 1276 testonly = true 1277 sources = [ "test/mock_video_decoder.h" ] 1278 1279 deps = [ 1280 "../api/video_codecs:video_codecs_api", 1281 "../test:test_support", 1282 ] 1283 } 1284 1285 rtc_library("mock_video_encoder") { 1286 visibility = [ "*" ] 1287 testonly = true 1288 sources = [ "test/mock_video_encoder.h" ] 1289 1290 deps = [ 1291 "../api/video_codecs:video_codecs_api", 1292 "../test:test_support", 1293 ] 1294 } 1295 1296 rtc_library("mock_video_track") { 1297 visibility = [ "*" ] 1298 testonly = true 1299 sources = [ "test/mock_video_track.h" ] 1300 1301 deps = [ 1302 "../api:media_stream_interface", 1303 "../api:scoped_refptr", 1304 "../rtc_base:refcount", 1305 "../test:test_support", 1306 ] 1307 } 1308 1309 rtc_library("create_time_controller") { 1310 visibility = [ "*" ] 1311 testonly = true 1312 sources = [ 1313 "test/create_time_controller.cc", 1314 "test/create_time_controller.h", 1315 ] 1316 1317 deps = [ 1318 ":callfactory_api", 1319 ":time_controller", 1320 "../call", 1321 "../call:call_interfaces", 1322 "../call:rtp_interfaces", 1323 "../test/time_controller", 1324 ] 1325 } 1326 1327 rtc_library("rtc_api_unittests") { 1328 testonly = true 1329 1330 sources = [ 1331 "array_view_unittest.cc", 1332 "field_trials_unittest.cc", 1333 "function_view_unittest.cc", 1334 "rtc_error_unittest.cc", 1335 "rtc_event_log_output_file_unittest.cc", 1336 "rtp_packet_info_unittest.cc", 1337 "rtp_packet_infos_unittest.cc", 1338 "rtp_parameters_unittest.cc", 1339 "scoped_refptr_unittest.cc", 1340 "sequence_checker_unittest.cc", 1341 "test/create_time_controller_unittest.cc", 1342 "test/peerconnection_quality_test_fixture_unittest.cc", 1343 ] 1344 1345 deps = [ 1346 ":array_view", 1347 ":create_time_controller", 1348 ":field_trials", 1349 ":field_trials_view", 1350 ":function_view", 1351 ":libjingle_peerconnection_api", 1352 ":peer_connection_quality_test_fixture_api", 1353 ":rtc_error", 1354 ":rtc_event_log_output_file", 1355 ":rtp_packet_info", 1356 ":rtp_parameters", 1357 ":scoped_refptr", 1358 ":sequence_checker", 1359 ":time_controller", 1360 "../rtc_base:buffer", 1361 "../rtc_base:checks", 1362 "../rtc_base:gunit_helpers", 1363 "../rtc_base:platform_thread", 1364 "../rtc_base:rtc_event", 1365 "../rtc_base:rtc_task_queue", 1366 "../rtc_base:task_queue_for_test", 1367 "../rtc_base/containers:flat_set", 1368 "../rtc_base/task_utils:repeating_task", 1369 "../system_wrappers:field_trial", 1370 "../test:field_trial", 1371 "../test:fileutils", 1372 "../test:rtc_expect_death", 1373 "../test:test_support", 1374 "task_queue:task_queue_default_factory_unittests", 1375 "test/pclf:media_configuration", 1376 "test/video:video_frame_writer", 1377 "transport:field_trial_based_config", 1378 "units:time_delta", 1379 "units:timestamp", 1380 "units:units_unittests", 1381 "video:frame_buffer_unittest", 1382 "video:rtp_video_frame_assembler_unittests", 1383 "video:video_unittests", 1384 ] 1385 absl_deps = [ 1386 "//third_party/abseil-cpp/absl/strings", 1387 "//third_party/abseil-cpp/absl/types:optional", 1388 ] 1389 } 1390 1391 rtc_library("compile_all_headers") { 1392 testonly = true 1393 1394 sources = [ "test/compile_all_headers.cc" ] 1395 1396 deps = [ 1397 ":fake_frame_decryptor", 1398 ":fake_frame_encryptor", 1399 ":mock_async_dns_resolver", 1400 ":mock_audio_mixer", 1401 ":mock_audio_sink", 1402 ":mock_data_channel", 1403 ":mock_dtmf_sender", 1404 ":mock_frame_decryptor", 1405 ":mock_frame_encryptor", 1406 ":mock_media_stream_interface", 1407 ":mock_packet_socket_factory", 1408 ":mock_peer_connection_factory_interface", 1409 ":mock_peerconnectioninterface", 1410 ":mock_rtp", 1411 ":mock_session_description_interface", 1412 ":mock_transformable_video_frame", 1413 ":mock_video_bitrate_allocator", 1414 ":mock_video_bitrate_allocator_factory", 1415 ":mock_video_codec_factory", 1416 ":mock_video_decoder", 1417 ":mock_video_encoder", 1418 ":mock_video_track", 1419 ":rtc_api_unittests", 1420 "units:units_unittests", 1421 ] 1422 } 1423} 1424 1425rtc_source_set("field_trials_registry") { 1426 visibility = [ "*" ] 1427 sources = [ 1428 "field_trials_registry.cc", 1429 "field_trials_registry.h", 1430 ] 1431 deps = [ 1432 ":field_trials_view", 1433 "../experiments:registered_field_trials", 1434 "../rtc_base:checks", 1435 "../rtc_base/containers:flat_set", 1436 "../rtc_base/system:rtc_export", 1437 ] 1438 absl_deps = [ 1439 "//third_party/abseil-cpp/absl/algorithm:container", 1440 "//third_party/abseil-cpp/absl/strings", 1441 ] 1442} 1443 1444rtc_source_set("field_trials_view") { 1445 visibility = [ "*" ] 1446 sources = [ "field_trials_view.h" ] 1447 deps = [ "../rtc_base/system:rtc_export" ] 1448 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 1449} 1450 1451rtc_source_set("webrtc_key_value_config") { 1452 visibility = [ "*" ] 1453 sources = [ "webrtc_key_value_config.h" ] 1454 deps = [ ":field_trials_view" ] 1455} 1456 1457rtc_library("field_trials") { 1458 visibility = [ "*" ] 1459 sources = [ 1460 "field_trials.cc", 1461 "field_trials.h", 1462 ] 1463 deps = [ 1464 ":field_trials_registry", 1465 "../rtc_base:checks", 1466 "../rtc_base/containers:flat_map", 1467 "../system_wrappers:field_trial", 1468 ] 1469 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 1470} 1471 1472rtc_library("frame_transformer_factory") { 1473 visibility = [ "*" ] 1474 sources = [ 1475 "frame_transformer_factory.cc", 1476 "frame_transformer_factory.h", 1477 ] 1478 deps = [ 1479 ":frame_transformer_interface", 1480 ":scoped_refptr", 1481 "../modules/rtp_rtcp", 1482 "../rtc_base:refcount", 1483 "video:encoded_frame", 1484 "video:video_frame_metadata", 1485 ] 1486} 1487