# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. import("../webrtc.gni") if (is_android) { import("//build/config/android/config.gni") import("//build/config/android/rules.gni") } group("api") { visibility = [ "*" ] deps = [] if (!build_with_mozilla) { deps += [ ":libjingle_peerconnection_api" ] } } rtc_source_set("call_api") { visibility = [ "*" ] sources = [ "call/audio_sink.h" ] } rtc_source_set("callfactory_api") { visibility = [ "*" ] sources = [ "call/call_factory_interface.h" ] deps = [ "../call:rtp_interfaces", "../rtc_base/system:rtc_export", ] } if (!build_with_chromium && !build_with_mozilla) { rtc_library("create_peerconnection_factory") { visibility = [ "*" ] allow_poison = [ "default_task_queue" ] sources = [ "create_peerconnection_factory.cc", "create_peerconnection_factory.h", ] deps = [ ":callfactory_api", ":libjingle_peerconnection_api", ":scoped_refptr", "../api/rtc_event_log:rtc_event_log_factory", "../media:rtc_audio_video", "../media:rtc_media_base", "../modules/audio_device:audio_device_api", "../modules/audio_processing:api", "../pc:peer_connection_factory", "../pc:webrtc_sdp", "../rtc_base:threading", "../stats:rtc_stats", "audio:audio_mixer_api", "audio_codecs:audio_codecs_api", "task_queue:default_task_queue_factory", "transport:field_trial_based_config", "video_codecs:video_codecs_api", ] } } rtc_library("rtp_headers") { visibility = [ "*" ] sources = [ "rtp_headers.cc", "rtp_headers.h", ] deps = [ ":array_view", "units:timestamp", "video:video_rtp_headers", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("rtp_packet_info") { visibility = [ "*" ] sources = [ "rtp_packet_info.cc", "rtp_packet_info.h", "rtp_packet_infos.h", ] deps = [ ":array_view", ":make_ref_counted", ":refcountedbase", ":rtp_headers", ":scoped_refptr", "../rtc_base/system:rtc_export", "units:time_delta", "units:timestamp", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_source_set("video_track_source_constraints") { visibility = [ "*" ] sources = [ "video_track_source_constraints.h" ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("media_stream_interface") { visibility = [ "*" ] sources = [ "media_stream_interface.cc", "media_stream_interface.h", "media_stream_track.h", "notifier.h", ] deps = [ ":audio_options_api", ":make_ref_counted", ":rtp_parameters", ":scoped_refptr", ":sequence_checker", ":video_track_source_constraints", "../modules/audio_processing:audio_processing_statistics", "../rtc_base:checks", "../rtc_base:refcount", "../rtc_base/system:no_unique_address", "../rtc_base/system:rtc_export", "video:recordable_encoded_frame", "video:video_frame", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("candidate") { visibility = [ "*" ] sources = [ "candidate.cc", "candidate.h", ] deps = [ "../rtc_base:checks", "../rtc_base:ip_address", "../rtc_base:logging", "../rtc_base:network_constants", "../rtc_base:socket_address", "../rtc_base:ssl", "../rtc_base:stringutils", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_source_set("turn_customizer") { visibility = [ "*" ] sources = [ "turn_customizer.h" ] deps = [ "transport:stun_types" ] } rtc_source_set("ice_transport_interface") { visibility = [ "*" ] sources = [ "ice_transport_interface.h" ] deps = [ ":async_dns_resolver", ":packet_socket_factory", ":rtc_error", ":scoped_refptr", "../rtc_base:refcount", "rtc_event_log:rtc_event_log", ] } rtc_library("dtls_transport_interface") { # Previously, Mozilla has tried to limit including this dep, but as # upstream changes, it requires whack-a-mole. Making it an empty # definition has the same effect, but only requires one change. if (!build_with_mozilla) { visibility = [ "*" ] sources = [ "dtls_transport_interface.cc", "dtls_transport_interface.h", ] deps = [ ":ice_transport_interface", ":rtc_error", ":scoped_refptr", "../rtc_base:refcount", "../rtc_base:ssl", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } } rtc_library("dtmf_sender_interface") { visibility = [ "*" ] sources = [ "dtmf_sender_interface.h" ] deps = [ ":media_stream_interface", "../rtc_base:refcount", ] } rtc_library("rtp_sender_interface") { # Previously, Mozilla has tried to limit including this dep, but as # upstream changes, it requires whack-a-mole. Making it an empty # definition has the same effect, but only requires one change. if (!build_with_mozilla) { visibility = [ "*" ] sources = [ "rtp_sender_interface.cc", "rtp_sender_interface.h", ] deps = [ ":dtls_transport_interface", ":dtmf_sender_interface", ":frame_transformer_interface", ":media_stream_interface", ":rtp_parameters", ":rtp_sender_setparameters_callback", ":scoped_refptr", "../rtc_base:checks", "../rtc_base:refcount", "../rtc_base/system:rtc_export", "crypto:frame_encryptor_interface", "video_codecs:video_codecs_api", ] } } rtc_library("rtp_sender_setparameters_callback") { visibility = [ "*" ] sources = [ "rtp_sender_setparameters_callback.cc", "rtp_sender_setparameters_callback.h", ] deps = [ ":rtc_error", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ] } rtc_library("libjingle_peerconnection_api") { if (!build_with_mozilla) { visibility = [ "*" ] cflags = [] sources = [ "crypto_params.h", "data_channel_interface.cc", "data_channel_interface.h", "jsep.cc", "jsep.h", "jsep_ice_candidate.cc", "jsep_ice_candidate.h", "jsep_session_description.h", "legacy_stats_types.cc", "legacy_stats_types.h", "peer_connection_interface.cc", "peer_connection_interface.h", "rtp_receiver_interface.cc", "rtp_receiver_interface.h", "rtp_transceiver_interface.cc", "rtp_transceiver_interface.h", "sctp_transport_interface.cc", "sctp_transport_interface.h", "set_local_description_observer_interface.h", "set_remote_description_observer_interface.h", "uma_metrics.h", "video_track_source_proxy_factory.h", # Remove when downstream has been updated "dtmf_sender_interface.h", "rtp_sender_interface.h", ] public_deps = [ # no-presubmit-check TODO(webrtc:8603) # Remove when downstream has been updated ":dtmf_sender_interface", ":rtp_sender_interface", ] deps = [ ":array_view", ":async_dns_resolver", ":audio_options_api", ":callfactory_api", ":candidate", ":dtls_transport_interface", ":fec_controller_api", ":field_trials", ":field_trials_view", ":frame_transformer_interface", ":ice_transport_interface", ":libjingle_logging_api", ":make_ref_counted", ":media_stream_interface", ":network_state_predictor_api", ":packet_socket_factory", ":priority", ":rtc_error", ":rtc_stats_api", ":rtp_packet_info", ":rtp_parameters", ":rtp_sender_interface", ":rtp_transceiver_direction", ":scoped_refptr", ":sequence_checker", ":turn_customizer", "../call:rtp_interfaces", "../p2p:rtc_p2p", "../rtc_base:copy_on_write_buffer", "../rtc_base:logging", "../rtc_base:network", "../rtc_base:network_constants", "../rtc_base:refcount", "../rtc_base:rtc_certificate_generator", "../rtc_base:ssl", "../rtc_base:stringutils", "adaptation:resource_adaptation_api", "audio:audio_mixer_api", "audio_codecs:audio_codecs_api", "crypto:frame_decryptor_interface", "crypto:frame_encryptor_interface", "crypto:options", "metronome", "neteq:neteq_api", "rtc_event_log", "task_queue", "transport:bitrate_settings", "transport:enums", "transport:network_control", "transport:sctp_transport_factory_interface", "transport/rtp:rtp_source", "units:data_rate", "units:timestamp", "video:encoded_image", "video:video_bitrate_allocator_factory", "video:video_frame", "video:video_rtp_headers", "video_codecs:video_codecs_api", # Basically, don't add stuff here. You might break sensitive downstream # targets like pnacl. API should not depend on anything outside of this # file, really. All these should arguably go away in time. "../media:rtc_media_base", "../media:rtc_media_config", "../modules/audio_processing:audio_processing_statistics", "../rtc_base:checks", "../rtc_base:ip_address", "../rtc_base:socket_address", "../rtc_base:threading", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/functional:any_invocable", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } } rtc_source_set("frame_transformer_interface") { visibility = [ "*" ] sources = [ "frame_transformer_interface.h" ] deps = [ ":make_ref_counted", ":scoped_refptr", "../rtc_base:refcount", "video:encoded_frame", "video:video_frame_metadata", ] } rtc_library("rtc_error") { visibility = [ "*" ] sources = [ "rtc_error.cc", "rtc_error.h", ] deps = [ "../rtc_base:checks", "../rtc_base:logging", "../rtc_base:macromagic", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_source_set("packet_socket_factory") { visibility = [ "*" ] sources = [ "async_resolver_factory.h", "packet_socket_factory.h", ] deps = [ ":async_dns_resolver", ":wrapping_async_dns_resolver", "../rtc_base:async_packet_socket", "../rtc_base:async_resolver_interface", "../rtc_base:proxy_info", "../rtc_base:socket_address", "../rtc_base/system:rtc_export", ] } rtc_source_set("async_dns_resolver") { visibility = [ "*" ] sources = [ "async_dns_resolver.h" ] deps = [ "../rtc_base:checks", "../rtc_base:socket_address", "../rtc_base/system:rtc_export", ] } rtc_source_set("wrapping_async_dns_resolver") { visibility = [ ":*", "../p2p:rtc_p2p", ] sources = [ "wrapping_async_dns_resolver.cc", "wrapping_async_dns_resolver.h", ] deps = [ ":async_dns_resolver", ":sequence_checker", "../rtc_base:async_resolver_interface", "../rtc_base:checks", "../rtc_base:macromagic", "../rtc_base:socket_address", "../rtc_base:threading", "../rtc_base/third_party/sigslot", ] absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] } rtc_source_set("scoped_refptr") { visibility = [ "*" ] sources = [ "scoped_refptr.h" ] } rtc_source_set("make_ref_counted") { visibility = [ "*" ] sources = [ "make_ref_counted.h" ] deps = [ "../rtc_base:refcount" ] } rtc_source_set("video_quality_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/video_quality_test_fixture.h" ] deps = [ ":fec_controller_api", ":libjingle_peerconnection_api", ":network_state_predictor_api", ":rtp_parameters", ":simulated_network_api", "../call:fake_network", "../call:rtp_interfaces", "../test:test_common", "../test:video_test_common", "../video/config:encoder_config", "transport:bitrate_settings", "transport:network_control", "video_codecs:video_codecs_api", ] } rtc_source_set("video_quality_analyzer_api") { visibility = [ "*" ] testonly = true sources = [ "test/video_quality_analyzer_interface.h" ] deps = [ ":array_view", ":stats_observer_interface", "video:encoded_image", "video:video_frame", "video:video_rtp_headers", "video_codecs:video_codecs_api", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_source_set("track_id_stream_info_map") { visibility = [ "*" ] sources = [ "test/track_id_stream_info_map.h" ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_source_set("rtp_transceiver_direction") { visibility = [ "*" ] sources = [ "rtp_transceiver_direction.h" ] } rtc_source_set("priority") { visibility = [ "*" ] sources = [ "priority.h" ] } rtc_library("rtp_parameters") { visibility = [ "*" ] sources = [ "media_types.cc", "media_types.h", "rtp_parameters.cc", "rtp_parameters.h", ] deps = [ ":array_view", ":priority", ":rtp_transceiver_direction", "../rtc_base:checks", "../rtc_base:stringutils", "../rtc_base/system:rtc_export", "video:resolution", "video_codecs:scalability_mode", ] absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } if (is_android) { java_cpp_enum("priority_enums") { sources = [ "priority.h" ] } } rtc_source_set("audio_quality_analyzer_api") { visibility = [ "*" ] testonly = true sources = [ "test/audio_quality_analyzer_interface.h" ] deps = [ ":stats_observer_interface", ":track_id_stream_info_map", ] } rtc_source_set("stats_observer_interface") { visibility = [ "*" ] testonly = true sources = [ "test/stats_observer_interface.h" ] deps = [ ":rtc_stats_api" ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_source_set("peer_network_dependencies") { visibility = [ "*" ] sources = [ "test/peer_network_dependencies.h" ] deps = [ ":packet_socket_factory", "../rtc_base:network", "../rtc_base:threading", ] } rtc_source_set("peer_connection_quality_test_fixture_api") { if (!build_with_mozilla) { visibility = [ "*" ] testonly = true sources = [ "test/peerconnection_quality_test_fixture.h" ] deps = [ ":array_view", ":audio_quality_analyzer_api", ":callfactory_api", ":fec_controller_api", ":frame_generator_api", ":function_view", ":libjingle_peerconnection_api", ":media_stream_interface", ":network_state_predictor_api", ":packet_socket_factory", ":peer_network_dependencies", ":rtp_parameters", ":simulated_network_api", ":stats_observer_interface", ":track_id_stream_info_map", ":video_quality_analyzer_api", "../media:media_constants", "../media:rtc_media_base", "../modules/audio_processing:api", "../rtc_base:checks", "../rtc_base:network", "../rtc_base:rtc_certificate_generator", "../rtc_base:ssl", "../rtc_base:stringutils", "../rtc_base:threading", "../test:fileutils", "audio:audio_mixer_api", "rtc_event_log", "task_queue", "test/pclf:media_configuration", "test/pclf:media_quality_test_params", "test/pclf:peer_configurer", "test/video:video_frame_writer", "transport:network_control", "units:time_delta", "video:video_frame", "video_codecs:video_codecs_api", ] absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } } rtc_source_set("frame_generator_api") { visibility = [ "*" ] testonly = true sources = [ "test/frame_generator_interface.cc", "test/frame_generator_interface.h", ] deps = [ ":scoped_refptr", "video:video_frame", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("test_dependency_factory") { visibility = [ "*" ] testonly = true sources = [ "test/test_dependency_factory.cc", "test/test_dependency_factory.h", ] deps = [ ":video_quality_test_fixture_api", "../rtc_base:checks", "../rtc_base:platform_thread_types", ] } if (rtc_include_tests) { # TODO(srte): Move to network_emulation sub directory. rtc_library("create_network_emulation_manager") { visibility = [ "*" ] testonly = true sources = [ "test/create_network_emulation_manager.cc", "test/create_network_emulation_manager.h", ] deps = [ ":network_emulation_manager_api", "../test/network:emulated_network", ] } if (!build_with_chromium) { rtc_library("create_video_quality_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/create_video_quality_test_fixture.cc", "test/create_video_quality_test_fixture.h", ] deps = [ ":fec_controller_api", ":network_state_predictor_api", ":scoped_refptr", ":video_quality_test_fixture_api", "../video:video_quality_test", ] } rtc_library("create_peerconnection_quality_test_fixture") { visibility = [ "*" ] testonly = true sources = [ "test/create_peerconnection_quality_test_fixture.cc", "test/create_peerconnection_quality_test_fixture.h", ] deps = [ ":audio_quality_analyzer_api", ":peer_connection_quality_test_fixture_api", ":time_controller", ":video_quality_analyzer_api", "../test/pc/e2e:peerconnection_quality_test", "test/metrics:global_metrics_logger_and_exporter", ] } } } rtc_library("create_frame_generator") { visibility = [ "*" ] testonly = true sources = [ "test/create_frame_generator.cc", "test/create_frame_generator.h", ] deps = [ ":frame_generator_api", "../rtc_base:checks", "../system_wrappers", "../test:frame_generator_impl", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } if (!build_with_mozilla) { rtc_library("create_peer_connection_quality_test_frame_generator") { visibility = [ "*" ] testonly = true sources = [ "test/create_peer_connection_quality_test_frame_generator.cc", "test/create_peer_connection_quality_test_frame_generator.h", ] deps = [ ":create_frame_generator", ":frame_generator_api", "../rtc_base:checks", "../test:fileutils", "test/pclf:media_configuration", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } } rtc_source_set("libjingle_logging_api") { visibility = [ "*" ] sources = [ "rtc_event_log_output.h" ] absl_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ] } rtc_library("rtc_event_log_output_file") { visibility = [ "*" ] sources = [ "rtc_event_log_output_file.cc", "rtc_event_log_output_file.h", ] deps = [ ":libjingle_logging_api", "../rtc_base:checks", "../rtc_base:logging", "../rtc_base/system:file_wrapper", "rtc_event_log", ] } rtc_source_set("rtc_stats_api") { visibility = [ "*" ] cflags = [] sources = [ "stats/rtc_stats.h", "stats/rtc_stats_collector_callback.h", "stats/rtc_stats_report.h", "stats/rtcstats_objects.h", ] deps = [ ":make_ref_counted", ":scoped_refptr", "../api:refcountedbase", "../rtc_base:checks", "../rtc_base:refcount", "../rtc_base/system:rtc_export", "units:timestamp", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("audio_options_api") { visibility = [ "*" ] sources = [ "audio_options.cc", "audio_options.h", ] deps = [ ":array_view", "../rtc_base:stringutils", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("transport_api") { visibility = [ "*" ] sources = [ "call/transport.cc", "call/transport.h", ] deps = [ ":refcountedbase", ":scoped_refptr", ] } rtc_source_set("bitrate_allocation") { visibility = [ "*" ] sources = [ "call/bitrate_allocation.h" ] deps = [ "units:data_rate", "units:time_delta", ] } # TODO(srte): Move to network_emulation sub directory. rtc_source_set("simulated_network_api") { visibility = [ "*" ] sources = [ "test/simulated_network.h" ] deps = [ "../rtc_base:macromagic", "../rtc_base:random", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } # TODO(srte): Move to network_emulation sub directory. rtc_source_set("network_emulation_manager_api") { visibility = [ "*" ] sources = [ "test/network_emulation_manager.cc", "test/network_emulation_manager.h", ] deps = [ ":array_view", ":packet_socket_factory", ":peer_network_dependencies", ":simulated_network_api", ":time_controller", "../call:simulated_network", "../rtc_base:checks", "../rtc_base:network", "../rtc_base:network_constants", "../rtc_base:threading", "test/network_emulation", "units:data_rate", "units:data_size", "units:timestamp", ] } rtc_source_set("time_controller") { visibility = [ "*" ] sources = [ "test/time_controller.cc", "test/time_controller.h", ] deps = [ "../rtc_base:threading", "../rtc_base/synchronization:yield_policy", "../system_wrappers", "task_queue", "units:time_delta", "units:timestamp", ] } rtc_source_set("fec_controller_api") { visibility = [ "*" ] sources = [ "fec_controller.h", "fec_controller_override.h", ] deps = [ "../modules:module_fec_api", "video:video_frame_type", ] } rtc_source_set("network_state_predictor_api") { visibility = [ "*" ] sources = [ "network_state_predictor.h" ] } rtc_source_set("array_view") { visibility = [ "*" ] sources = [ "array_view.h" ] deps = [ "../rtc_base:checks", "../rtc_base:type_traits", ] } rtc_source_set("refcountedbase") { visibility = [ "*" ] sources = [ "ref_counted_base.h" ] deps = [ "../rtc_base:macromagic", "../rtc_base:refcount", ] } if (!build_with_mozilla) { rtc_library("ice_transport_factory") { visibility = [ "*" ] sources = [ "ice_transport_factory.cc", "ice_transport_factory.h", ] deps = [ ":ice_transport_interface", ":libjingle_peerconnection_api", ":make_ref_counted", ":packet_socket_factory", ":scoped_refptr", "../p2p:rtc_p2p", "../rtc_base:threading", "../rtc_base/system:rtc_export", "rtc_event_log:rtc_event_log", ] } } rtc_library("neteq_simulator_api") { visibility = [ "*" ] sources = [ "test/neteq_simulator.cc", "test/neteq_simulator.h", ] } rtc_source_set("function_view") { visibility = [ "*" ] sources = [ "function_view.h" ] deps = [ "../rtc_base:checks" ] } rtc_source_set("sequence_checker") { visibility = [ "*" ] sources = [ "sequence_checker.h" ] deps = [ "../rtc_base:checks", "../rtc_base:macromagic", "../rtc_base/synchronization:sequence_checker_internal", ] } if (rtc_include_tests) { if (rtc_enable_protobuf && !build_with_chromium) { rtc_library("audioproc_f_api") { visibility = [ "*" ] testonly = true sources = [ "test/audioproc_float.cc", "test/audioproc_float.h", ] deps = [ "../modules/audio_processing", "../modules/audio_processing:api", "../modules/audio_processing:audioproc_f_impl", ] } rtc_library("neteq_simulator_factory") { visibility = [ "*" ] testonly = true sources = [ "test/neteq_simulator_factory.cc", "test/neteq_simulator_factory.h", ] deps = [ ":neteq_simulator_api", "../modules/audio_coding:neteq_test_factory", "../rtc_base:checks", "neteq:neteq_api", ] absl_deps = [ "//third_party/abseil-cpp/absl/flags:flag", "//third_party/abseil-cpp/absl/flags:parse", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } } rtc_source_set("simulcast_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/simulcast_test_fixture.h" ] } rtc_library("create_simulcast_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/create_simulcast_test_fixture.cc", "test/create_simulcast_test_fixture.h", ] deps = [ ":simulcast_test_fixture_api", "../modules/video_coding:simulcast_test_fixture_impl", "video_codecs:video_codecs_api", ] } rtc_library("videocodec_test_stats_api") { visibility = [ "*" ] testonly = true sources = [ "test/videocodec_test_stats.cc", "test/videocodec_test_stats.h", ] deps = [ "../api/units:data_rate", "../api/units:frequency", "../rtc_base:stringutils", "video:video_frame_type", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("videocodec_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/videocodec_test_fixture.h" ] deps = [ ":videocodec_test_stats_api", "../modules/video_coding:video_codec_interface", "video_codecs:video_codecs_api", ] } rtc_library("video_codec_tester_api") { visibility = [ "*" ] testonly = true sources = [ "test/video_codec_tester.h" ] deps = [ ":videocodec_test_stats_api", "../modules/video_coding/svc:scalability_mode_util", "video:encoded_image", "video:resolution", "video:video_frame", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("create_videocodec_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/create_videocodec_test_fixture.cc", "test/create_videocodec_test_fixture.h", ] deps = [ ":videocodec_test_fixture_api", "../modules/video_coding:video_codecs_test_framework", "../modules/video_coding:videocodec_test_impl", "video_codecs:video_codecs_api", ] } rtc_library("create_video_codec_tester_api") { visibility = [ "*" ] testonly = true sources = [ "test/create_video_codec_tester.cc", "test/create_video_codec_tester.h", ] deps = [ ":video_codec_tester_api", "../modules/video_coding:videocodec_test_impl", ] } rtc_source_set("mock_audio_mixer") { visibility = [ "*" ] testonly = true sources = [ "test/mock_audio_mixer.h" ] deps = [ "../test:test_support", "audio:audio_mixer_api", ] } rtc_source_set("mock_audio_sink") { visibility = [ "*" ] testonly = true sources = [ "test/mock_audio_sink.h" ] deps = [ "../api:media_stream_interface", "../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_source_set("mock_data_channel") { visibility = [ "*" ] testonly = true sources = [ "test/mock_data_channel.h" ] deps = [ ":libjingle_peerconnection_api", "../test:test_support", ] } rtc_source_set("mock_dtmf_sender") { visibility = [ "*" ] testonly = true sources = [ "test/mock_dtmf_sender.h" ] deps = [ ":dtmf_sender_interface", ":libjingle_peerconnection_api", "../test:test_support", ] } rtc_source_set("mock_fec_controller_override") { visibility = [ "*" ] testonly = true sources = [ "test/mock_fec_controller_override.h" ] deps = [ ":fec_controller_api", "../test:test_support", ] } rtc_library("mock_frame_encryptor") { visibility = [ "*" ] testonly = true sources = [ "test/mock_frame_encryptor.h" ] deps = [ # For api/crypto/frame_encryptor_interface.h ":libjingle_peerconnection_api", "../test:test_support", "crypto:frame_encryptor_interface", ] } rtc_library("mock_frame_decryptor") { visibility = [ "*" ] testonly = true sources = [ "test/mock_frame_decryptor.h" ] deps = [ ":libjingle_peerconnection_api", "../test:test_support", "crypto:frame_decryptor_interface", ] } rtc_library("mock_encoder_selector") { visibility = [ "*" ] testonly = true sources = [ "test/mock_encoder_selector.h" ] deps = [ ":libjingle_peerconnection_api", "../api/video_codecs:video_codecs_api", "../test:test_support", ] } rtc_library("fake_frame_encryptor") { visibility = [ "*" ] testonly = true sources = [ "test/fake_frame_encryptor.cc", "test/fake_frame_encryptor.h", ] deps = [ ":array_view", ":libjingle_peerconnection_api", ":make_ref_counted", ":rtp_parameters", "../rtc_base:checks", "../rtc_base:refcount", "crypto:frame_encryptor_interface", ] } rtc_library("fake_frame_decryptor") { visibility = [ "*" ] testonly = true sources = [ "test/fake_frame_decryptor.cc", "test/fake_frame_decryptor.h", ] deps = [ ":array_view", ":libjingle_peerconnection_api", ":make_ref_counted", ":rtp_parameters", "../rtc_base:checks", "crypto:frame_decryptor_interface", ] } rtc_source_set("mock_media_stream_interface") { visibility = [ "*" ] testonly = true sources = [ "test/mock_media_stream_interface.h" ] deps = [ ":media_stream_interface", "../test:test_support", ] } rtc_source_set("mock_packet_socket_factory") { visibility = [ "*" ] testonly = true sources = [ "test/mock_packet_socket_factory.h" ] deps = [ ":packet_socket_factory", "../test:test_support", ] } rtc_source_set("mock_peerconnectioninterface") { visibility = [ "*" ] testonly = true sources = [ "test/mock_peerconnectioninterface.h" ] deps = [ ":libjingle_peerconnection_api", "../api:scoped_refptr", "../rtc_base:refcount", "../test:test_support", ] } rtc_source_set("mock_peer_connection_factory_interface") { visibility = [ "*" ] testonly = true sources = [ "test/mock_peer_connection_factory_interface.h" ] deps = [ ":libjingle_peerconnection_api", "../test:test_support", ] } rtc_source_set("mock_session_description_interface") { visibility = [ "*" ] testonly = true sources = [ "test/mock_session_description_interface.h" ] deps = [ ":libjingle_peerconnection_api", "../test:test_support", ] } rtc_source_set("mock_async_dns_resolver") { visibility = [ "*" ] testonly = true sources = [ "test/mock_async_dns_resolver.h" ] deps = [ ":async_dns_resolver", "../test:test_support", ] } rtc_source_set("mock_rtp") { visibility = [ "*" ] testonly = true sources = [ "test/mock_rtp_transceiver.h", "test/mock_rtpreceiver.h", "test/mock_rtpsender.h", ] deps = [ ":libjingle_peerconnection_api", ":rtp_sender_interface", "../api/crypto:frame_decryptor_interface", "../test:test_support", ] } rtc_source_set("mock_transformable_video_frame") { visibility = [ "*" ] testonly = true sources = [ "test/mock_transformable_video_frame.h" ] deps = [ ":frame_transformer_interface", "../test:test_support", ] } rtc_source_set("mock_video_bitrate_allocator") { visibility = [ "*" ] testonly = true sources = [ "test/mock_video_bitrate_allocator.h" ] deps = [ "../api/video:video_bitrate_allocator", "../test:test_support", ] } rtc_source_set("mock_video_bitrate_allocator_factory") { visibility = [ "*" ] testonly = true sources = [ "test/mock_video_bitrate_allocator_factory.h" ] deps = [ "../api/video:video_bitrate_allocator_factory", "../test:test_support", ] } rtc_source_set("mock_video_codec_factory") { visibility = [ "*" ] testonly = true sources = [ "test/mock_video_decoder_factory.h", "test/mock_video_encoder_factory.h", ] deps = [ "../api/video_codecs:video_codecs_api", "../test:test_support", ] } rtc_library("mock_video_decoder") { visibility = [ "*" ] testonly = true sources = [ "test/mock_video_decoder.h" ] deps = [ "../api/video_codecs:video_codecs_api", "../test:test_support", ] } rtc_library("mock_video_encoder") { visibility = [ "*" ] testonly = true sources = [ "test/mock_video_encoder.h" ] deps = [ "../api/video_codecs:video_codecs_api", "../test:test_support", ] } rtc_library("mock_video_track") { visibility = [ "*" ] testonly = true sources = [ "test/mock_video_track.h" ] deps = [ "../api:media_stream_interface", "../api:scoped_refptr", "../rtc_base:refcount", "../test:test_support", ] } rtc_library("create_time_controller") { visibility = [ "*" ] testonly = true sources = [ "test/create_time_controller.cc", "test/create_time_controller.h", ] deps = [ ":callfactory_api", ":time_controller", "../call", "../call:call_interfaces", "../call:rtp_interfaces", "../test/time_controller", ] } rtc_library("rtc_api_unittests") { testonly = true sources = [ "array_view_unittest.cc", "field_trials_unittest.cc", "function_view_unittest.cc", "rtc_error_unittest.cc", "rtc_event_log_output_file_unittest.cc", "rtp_packet_info_unittest.cc", "rtp_packet_infos_unittest.cc", "rtp_parameters_unittest.cc", "scoped_refptr_unittest.cc", "sequence_checker_unittest.cc", "test/create_time_controller_unittest.cc", "test/peerconnection_quality_test_fixture_unittest.cc", ] deps = [ ":array_view", ":create_time_controller", ":field_trials", ":field_trials_view", ":function_view", ":libjingle_peerconnection_api", ":peer_connection_quality_test_fixture_api", ":rtc_error", ":rtc_event_log_output_file", ":rtp_packet_info", ":rtp_parameters", ":scoped_refptr", ":sequence_checker", ":time_controller", "../rtc_base:buffer", "../rtc_base:checks", "../rtc_base:gunit_helpers", "../rtc_base:platform_thread", "../rtc_base:rtc_event", "../rtc_base:rtc_task_queue", "../rtc_base:task_queue_for_test", "../rtc_base/containers:flat_set", "../rtc_base/task_utils:repeating_task", "../system_wrappers:field_trial", "../test:field_trial", "../test:fileutils", "../test:rtc_expect_death", "../test:test_support", "task_queue:task_queue_default_factory_unittests", "test/pclf:media_configuration", "test/video:video_frame_writer", "transport:field_trial_based_config", "units:time_delta", "units:timestamp", "units:units_unittests", "video:frame_buffer_unittest", "video:rtp_video_frame_assembler_unittests", "video:video_unittests", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("compile_all_headers") { testonly = true sources = [ "test/compile_all_headers.cc" ] deps = [ ":fake_frame_decryptor", ":fake_frame_encryptor", ":mock_async_dns_resolver", ":mock_audio_mixer", ":mock_audio_sink", ":mock_data_channel", ":mock_dtmf_sender", ":mock_frame_decryptor", ":mock_frame_encryptor", ":mock_media_stream_interface", ":mock_packet_socket_factory", ":mock_peer_connection_factory_interface", ":mock_peerconnectioninterface", ":mock_rtp", ":mock_session_description_interface", ":mock_transformable_video_frame", ":mock_video_bitrate_allocator", ":mock_video_bitrate_allocator_factory", ":mock_video_codec_factory", ":mock_video_decoder", ":mock_video_encoder", ":mock_video_track", ":rtc_api_unittests", "units:units_unittests", ] } } rtc_source_set("field_trials_registry") { visibility = [ "*" ] sources = [ "field_trials_registry.cc", "field_trials_registry.h", ] deps = [ ":field_trials_view", "../experiments:registered_field_trials", "../rtc_base:checks", "../rtc_base/containers:flat_set", "../rtc_base/system:rtc_export", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/strings", ] } rtc_source_set("field_trials_view") { visibility = [ "*" ] sources = [ "field_trials_view.h" ] deps = [ "../rtc_base/system:rtc_export" ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_source_set("webrtc_key_value_config") { visibility = [ "*" ] sources = [ "webrtc_key_value_config.h" ] deps = [ ":field_trials_view" ] } rtc_library("field_trials") { visibility = [ "*" ] sources = [ "field_trials.cc", "field_trials.h", ] deps = [ ":field_trials_registry", "../rtc_base:checks", "../rtc_base/containers:flat_map", "../system_wrappers:field_trial", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("frame_transformer_factory") { visibility = [ "*" ] sources = [ "frame_transformer_factory.cc", "frame_transformer_factory.h", ] deps = [ ":frame_transformer_interface", ":scoped_refptr", "../modules/rtp_rtcp", "../rtc_base:refcount", "video:encoded_frame", "video:video_frame_metadata", ] }