diff options
Diffstat (limited to 'third_party/libwebrtc/api/BUILD.gn')
-rw-r--r-- | third_party/libwebrtc/api/BUILD.gn | 1559 |
1 files changed, 1559 insertions, 0 deletions
diff --git a/third_party/libwebrtc/api/BUILD.gn b/third_party/libwebrtc/api/BUILD.gn new file mode 100644 index 0000000000..7c16b45e05 --- /dev/null +++ b/third_party/libwebrtc/api/BUILD.gn @@ -0,0 +1,1559 @@ +# 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", + ] +} |