| # 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", |
| ] |
| } |
| |
| rtc_static_library("create_peerconnection_factory") { |
| visibility = [ "*" ] |
| sources = [ |
| "create_peerconnection_factory.cc", |
| "create_peerconnection_factory.h", |
| ] |
| deps = [ |
| ":callfactory_api", |
| ":fec_controller_api", |
| ":libjingle_peerconnection_api", |
| ":network_state_predictor_api", |
| ":scoped_refptr", |
| "../logging:rtc_event_log_api", |
| "../logging:rtc_event_log_impl_base", |
| "../media:rtc_audio_video", |
| "../media:rtc_media_base", |
| "../modules/audio_device:audio_device_api", |
| "../modules/audio_processing:api", |
| "../pc:peerconnection", |
| "../rtc_base", |
| "../rtc_base:deprecation", |
| "../rtc_base:rtc_base_approved", |
| "audio:audio_mixer_api", |
| "audio_codecs:audio_codecs_api", |
| "transport:network_control", |
| "video_codecs:video_codecs_api", |
| ] |
| } |
| |
| rtc_source_set("rtp_headers") { |
| visibility = [ "*" ] |
| sources = [ |
| "rtp_headers.cc", |
| "rtp_headers.h", |
| ] |
| deps = [ |
| ":array_view", |
| "..:webrtc_common", |
| "video:video_frame", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_static_library("libjingle_peerconnection_api") { |
| visibility = [ "*" ] |
| cflags = [] |
| sources = [ |
| "async_resolver_factory.h", |
| "bitrate_constraints.h", |
| "candidate.cc", |
| "candidate.h", |
| "crypto/crypto_options.cc", |
| "crypto/crypto_options.h", |
| "crypto/frame_decryptor_interface.h", |
| "crypto/frame_encryptor_interface.h", |
| "crypto_params.h", |
| "data_channel_interface.cc", |
| "data_channel_interface.h", |
| "dtls_transport_interface.cc", |
| "dtls_transport_interface.h", |
| "dtmf_sender_interface.h", |
| "ice_transport_interface.h", |
| "jsep.cc", |
| "jsep.h", |
| "jsep_ice_candidate.cc", |
| "jsep_ice_candidate.h", |
| "jsep_session_description.h", |
| "media_stream_interface.cc", |
| "media_stream_interface.h", |
| "media_stream_proxy.h", |
| "media_stream_track_proxy.h", |
| "media_transport_interface.cc", |
| "media_transport_interface.h", |
| "media_types.cc", |
| "media_types.h", |
| "notifier.h", |
| "peer_connection_factory_proxy.h", |
| "peer_connection_interface.cc", |
| "peer_connection_interface.h", |
| "peer_connection_proxy.h", |
| "proxy.cc", |
| "proxy.h", |
| "rtc_error.cc", |
| "rtc_error.h", |
| "rtp_parameters.cc", |
| "rtp_parameters.h", |
| "rtp_receiver_interface.cc", |
| "rtp_receiver_interface.h", |
| "rtp_sender_interface.cc", |
| "rtp_sender_interface.h", |
| "rtp_transceiver_interface.cc", |
| "rtp_transceiver_interface.h", |
| "sctp_transport_interface.cc", |
| "sctp_transport_interface.h", |
| "set_remote_description_observer_interface.h", |
| "stats_types.cc", |
| "stats_types.h", |
| "turn_customizer.h", |
| "uma_metrics.h", |
| "video_track_source_proxy.h", |
| ] |
| deps = [ |
| ":array_view", |
| ":audio_options_api", |
| ":callfactory_api", |
| ":fec_controller_api", |
| ":libjingle_logging_api", |
| ":network_state_predictor_api", |
| ":rtc_stats_api", |
| ":scoped_refptr", |
| "audio:audio_mixer_api", |
| "audio_codecs:audio_codecs_api", |
| "task_queue", |
| "transport:bitrate_settings", |
| "transport:network_control", |
| "transport/media:audio_interfaces", |
| "transport/media:video_interfaces", |
| "units:data_rate", |
| "video:encoded_image", |
| "video:video_frame", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| |
| # 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. |
| "..:webrtc_common", |
| "../logging:rtc_event_log_api", |
| "../media:rtc_media_config", |
| "../modules/audio_processing:audio_processing_statistics", |
| "../rtc_base", |
| "../rtc_base:checks", |
| "../rtc_base:deprecation", |
| "../rtc_base:rtc_base_approved", |
| "../rtc_base/system:rtc_export", |
| ] |
| } |
| |
| rtc_source_set("scoped_refptr") { |
| visibility = [ "*" ] |
| sources = [ |
| "scoped_refptr.h", |
| ] |
| } |
| |
| 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", |
| ":simulated_network_api", |
| "../call:fake_network", |
| "../call:rtp_interfaces", |
| "../test:test_common", |
| "../test:video_test_common", |
| "video_codecs:video_codecs_api", |
| ] |
| } |
| |
| rtc_source_set("video_quality_analyzer_api") { |
| visibility = [ "*" ] |
| testonly = true |
| sources = [ |
| "test/video_quality_analyzer_interface.h", |
| ] |
| |
| deps = [ |
| ":stats_observer_interface", |
| "video:encoded_image", |
| "video:video_frame", |
| "video_codecs:video_codecs_api", |
| "//third_party/abseil-cpp/absl/strings", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_source_set("track_id_stream_label_map") { |
| visibility = [ "*" ] |
| sources = [ |
| "test/track_id_stream_label_map.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_label_map", |
| ] |
| } |
| |
| rtc_source_set("stats_observer_interface") { |
| visibility = [ "*" ] |
| testonly = true |
| sources = [ |
| "test/stats_observer_interface.h", |
| ] |
| |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "//third_party/abseil-cpp/absl/strings", |
| ] |
| } |
| |
| rtc_source_set("peer_connection_quality_test_fixture_api") { |
| visibility = [ "*" ] |
| testonly = true |
| sources = [ |
| "test/peerconnection_quality_test_fixture.h", |
| ] |
| |
| deps = [ |
| ":audio_quality_analyzer_api", |
| ":callfactory_api", |
| ":fec_controller_api", |
| ":function_view", |
| ":libjingle_peerconnection_api", |
| ":network_state_predictor_api", |
| ":simulated_network_api", |
| ":video_quality_analyzer_api", |
| "../logging:rtc_event_log_api", |
| "../rtc_base:rtc_base", |
| "transport:network_control", |
| "units:time_delta", |
| "video_codecs:video_codecs_api", |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_source_set("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:thread_checker", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_source_set("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", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("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/scenario/network:emulated_network", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("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", |
| ":video_quality_analyzer_api", |
| "../test/pc/e2e:peerconnection_quality_test", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| } |
| |
| rtc_source_set("libjingle_logging_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "rtc_event_log_output.h", |
| ] |
| } |
| |
| rtc_source_set("ortc_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "ortc/packet_transport_interface.h", |
| "ortc/rtp_transport_interface.h", |
| "ortc/srtp_transport_interface.h", |
| ] |
| |
| deps = [ |
| ":libjingle_peerconnection_api", |
| ":rtp_headers", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| 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 = [ |
| ":scoped_refptr", |
| "../rtc_base:checks", |
| "../rtc_base:rtc_base_approved", |
| "../rtc_base/system:rtc_export", |
| ] |
| } |
| |
| rtc_source_set("audio_options_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "audio_options.cc", |
| "audio_options.h", |
| ] |
| |
| deps = [ |
| ":array_view", |
| "../rtc_base:stringutils", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_source_set("transport_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "call/transport.cc", |
| "call/transport.h", |
| ] |
| } |
| |
| rtc_source_set("bitrate_allocation") { |
| visibility = [ "*" ] |
| sources = [ |
| "call/bitrate_allocation.h", |
| ] |
| deps = [ |
| "units:data_rate", |
| "units:time_delta", |
| ] |
| } |
| |
| rtc_source_set("simulated_network_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "test/simulated_network.h", |
| ] |
| deps = [ |
| "../rtc_base", |
| "../rtc_base:criticalsection", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_source_set("network_emulation_manager_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "test/network_emulation_manager.h", |
| ] |
| deps = [ |
| ":simulated_network_api", |
| "../rtc_base", |
| "units:data_rate", |
| "units:data_size", |
| "units:timestamp", |
| ] |
| } |
| |
| rtc_source_set("fec_controller_api") { |
| visibility = [ "*" ] |
| sources = [ |
| "fec_controller.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:rtc_base_approved", |
| ] |
| } |
| |
| rtc_source_set("ice_transport_factory") { |
| visibility = [ "*" ] |
| sources = [ |
| "ice_transport_factory.cc", |
| "ice_transport_factory.h", |
| ] |
| deps = [ |
| ":libjingle_peerconnection_api", |
| ":scoped_refptr", |
| "../p2p:rtc_p2p", |
| "../rtc_base", |
| "../rtc_base/system:rtc_export", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("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", |
| ] |
| } |
| |
| if (rtc_include_tests) { |
| if (rtc_enable_protobuf) { |
| rtc_source_set("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_source_set("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", |
| "../rtc_base:rtc_base_approved", |
| "//third_party/abseil-cpp/absl/memory", |
| "//third_party/abseil-cpp/absl/strings", |
| ] |
| } |
| } |
| |
| rtc_source_set("simulcast_test_fixture_api") { |
| visibility = [ "*" ] |
| testonly = true |
| sources = [ |
| "test/simulcast_test_fixture.h", |
| ] |
| } |
| |
| rtc_source_set("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", |
| "../rtc_base:rtc_base_approved", |
| "video_codecs:video_codecs_api", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("videocodec_test_fixture_api") { |
| visibility = [ "*" ] |
| testonly = true |
| sources = [ |
| "test/videocodec_test_fixture.h", |
| "test/videocodec_test_stats.cc", |
| "test/videocodec_test_stats.h", |
| ] |
| deps = [ |
| "..:webrtc_common", |
| "../modules/video_coding:video_codec_interface", |
| "../rtc_base:stringutils", |
| "video:video_frame_type", |
| "video_codecs:video_codecs_api", |
| ] |
| } |
| |
| rtc_source_set("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", |
| "../rtc_base:rtc_base_approved", |
| "video_codecs:video_codecs_api", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("mock_audio_mixer") { |
| testonly = true |
| sources = [ |
| "test/mock_audio_mixer.h", |
| ] |
| |
| deps = [ |
| "../test:test_support", |
| "audio:audio_mixer_api", |
| ] |
| } |
| |
| rtc_source_set("mock_frame_encryptor") { |
| testonly = true |
| sources = [ |
| "test/mock_frame_encryptor.cc", |
| "test/mock_frame_encryptor.h", |
| ] |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "../test:test_support", |
| ] |
| } |
| |
| rtc_source_set("mock_frame_decryptor") { |
| testonly = true |
| sources = [ |
| "test/mock_frame_decryptor.cc", |
| "test/mock_frame_decryptor.h", |
| ] |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "../test:test_support", |
| ] |
| } |
| |
| rtc_source_set("fake_frame_encryptor") { |
| testonly = true |
| sources = [ |
| "test/fake_frame_encryptor.cc", |
| "test/fake_frame_encryptor.h", |
| ] |
| deps = [ |
| ":array_view", |
| ":libjingle_peerconnection_api", |
| "..:webrtc_common", |
| "../rtc_base:checks", |
| "../rtc_base:rtc_base_approved", |
| ] |
| } |
| |
| rtc_source_set("fake_frame_decryptor") { |
| testonly = true |
| sources = [ |
| "test/fake_frame_decryptor.cc", |
| "test/fake_frame_decryptor.h", |
| ] |
| deps = [ |
| ":array_view", |
| ":libjingle_peerconnection_api", |
| "..:webrtc_common", |
| "../rtc_base:checks", |
| "../rtc_base:rtc_base_approved", |
| ] |
| } |
| |
| rtc_source_set("mock_peerconnectioninterface") { |
| testonly = true |
| sources = [ |
| "test/mock_peerconnectioninterface.h", |
| ] |
| |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "../test:test_support", |
| ] |
| } |
| |
| rtc_source_set("mock_rtp") { |
| testonly = true |
| sources = [ |
| "test/mock_rtpreceiver.h", |
| "test/mock_rtpsender.h", |
| ] |
| |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "../test:test_support", |
| ] |
| } |
| |
| rtc_source_set("mock_video_bitrate_allocator") { |
| 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") { |
| 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") { |
| 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_source_set("mock_video_decoder") { |
| visibility = [ "*" ] |
| |
| testonly = true |
| sources = [ |
| "test/mock_video_decoder.cc", |
| "test/mock_video_decoder.h", |
| ] |
| |
| deps = [ |
| "../api/video_codecs:video_codecs_api", |
| "../test:test_support", |
| ] |
| } |
| |
| rtc_source_set("mock_video_encoder") { |
| visibility = [ "*" ] |
| |
| testonly = true |
| sources = [ |
| "test/mock_video_encoder.cc", |
| "test/mock_video_encoder.h", |
| ] |
| |
| deps = [ |
| "../api/video_codecs:video_codecs_api", |
| "../test:test_support", |
| ] |
| } |
| |
| rtc_source_set("fake_media_transport") { |
| testonly = true |
| |
| sources = [ |
| "test/fake_media_transport.h", |
| ] |
| |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "../rtc_base:checks", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("loopback_media_transport") { |
| testonly = true |
| |
| sources = [ |
| "test/loopback_media_transport.cc", |
| "test/loopback_media_transport.h", |
| ] |
| |
| deps = [ |
| ":libjingle_peerconnection_api", |
| "../rtc_base", |
| "../rtc_base:checks", |
| "//third_party/abseil-cpp/absl/algorithm:container", |
| "//third_party/abseil-cpp/absl/memory", |
| ] |
| } |
| |
| rtc_source_set("rtc_api_unittests") { |
| testonly = true |
| |
| sources = [ |
| "array_view_unittest.cc", |
| "function_view_unittest.cc", |
| "rtc_error_unittest.cc", |
| "rtp_parameters_unittest.cc", |
| "test/loopback_media_transport_unittest.cc", |
| ] |
| |
| deps = [ |
| ":array_view", |
| ":function_view", |
| ":libjingle_peerconnection_api", |
| ":loopback_media_transport", |
| "../rtc_base:checks", |
| "../rtc_base:gunit_helpers", |
| "../rtc_base:rtc_base_approved", |
| "../test:test_support", |
| "task_queue:task_queue_default_factory_unittests", |
| "units:units_unittests", |
| "video:video_unittests", |
| ] |
| } |
| |
| rtc_source_set("compile_all_headers") { |
| testonly = true |
| |
| sources = [ |
| "test/compile_all_headers.cc", |
| ] |
| |
| deps = [ |
| ":fake_frame_decryptor", |
| ":fake_frame_encryptor", |
| ":fake_media_transport", |
| ":loopback_media_transport", |
| ":mock_audio_mixer", |
| ":mock_frame_decryptor", |
| ":mock_frame_encryptor", |
| ":mock_peerconnectioninterface", |
| ":mock_rtp", |
| ":mock_video_bitrate_allocator", |
| ":mock_video_bitrate_allocator_factory", |
| ":mock_video_codec_factory", |
| ":mock_video_decoder", |
| ":mock_video_encoder", |
| ":rtc_api_unittests", |
| "units:units_unittests", |
| ] |
| } |
| } |