# 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", ] deps = [ # TODO(kjellander): Add remaining dependencies when webrtc:4243 is done. ":transport_api", "..:webrtc_common", "../rtc_base:rtc_base_approved", "audio:audio_mixer_api", "audio_codecs:audio_codecs_api", ] } rtc_source_set("callfactory_api") { visibility = [ "*" ] sources = [ "call/callfactoryinterface.h", ] } rtc_static_library("libjingle_peerconnection_api") { visibility = [ "*" ] cflags = [] sources = [ "asyncresolverfactory.h", "bitrate_constraints.h", "candidate.cc", "candidate.h", "cryptoparams.h", "datachannelinterface.cc", "datachannelinterface.h", "dtmfsenderinterface.h", "jsep.cc", "jsep.h", "jsepicecandidate.cc", "jsepicecandidate.h", "jsepsessiondescription.h", "mediaconstraintsinterface.cc", "mediaconstraintsinterface.h", "mediastreaminterface.cc", "mediastreaminterface.h", "mediastreamproxy.h", "mediastreamtrackproxy.h", "mediatypes.cc", "mediatypes.h", "notifier.h", "peerconnectionfactoryproxy.h", "peerconnectioninterface.cc", "peerconnectioninterface.h", "peerconnectionproxy.h", "proxy.cc", "proxy.h", "rtcerror.cc", "rtcerror.h", "rtp_headers.cc", "rtp_headers.h", "rtpparameters.cc", "rtpparameters.h", "rtpreceiverinterface.cc", "rtpreceiverinterface.h", "rtpsenderinterface.h", "rtptransceiverinterface.cc", "rtptransceiverinterface.h", "setremotedescriptionobserverinterface.h", "statstypes.cc", "statstypes.h", "turncustomizer.h", "umametrics.h", "videosourceproxy.h", ] deps = [ ":array_view", ":audio_options_api", ":callfactory_api", ":fec_controller_api", ":libjingle_logging_api", ":rtc_stats_api", "audio:audio_mixer_api", "audio_codecs:audio_codecs_api", "transport:bitrate_settings", "transport:network_control", "video:video_frame", "//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:checks", "../rtc_base:deprecation", "../rtc_base:rtc_base", "../rtc_base:rtc_base_approved", "../rtc_base:stringutils", ] if (is_nacl) { # This is needed by .h files included from rtc_base. deps += [ "//native_client_sdk/src/libraries/nacl_io" ] } } rtc_source_set("video_quality_test_fixture_api") { visibility = [ "*" ] testonly = true sources = [ "test/video_quality_test_fixture.h", ] deps = [ ":libjingle_peerconnection_api", ":simulated_network_api", "../call:fake_network", "../call:rtp_interfaces", "../test:test_common", "../test:video_test_common", "video_codecs:video_codecs_api", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } 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", ":video_quality_test_fixture_api", "../rtc_base:ptr_util", "../video:video_quality_test", "//third_party/abseil-cpp/absl/memory", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } } rtc_source_set("libjingle_logging_api") { visibility = [ "*" ] sources = [ "rtceventlogoutput.h", ] } rtc_source_set("ortc_api") { visibility = [ "*" ] sources = [ "ortc/mediadescription.cc", "ortc/mediadescription.h", "ortc/ortcfactoryinterface.h", "ortc/ortcrtpreceiverinterface.h", "ortc/ortcrtpsenderinterface.h", "ortc/packettransportinterface.h", "ortc/rtptransportcontrollerinterface.h", "ortc/rtptransportinterface.h", "ortc/sessiondescription.cc", "ortc/sessiondescription.h", "ortc/srtptransportinterface.h", "ortc/udptransportinterface.h", ] # For mediastreaminterface.h, etc. # TODO(deadbeef): Create a separate target for the common things ORTC and # PeerConnection code shares, so that ortc_api can depend on that instead of # libjingle_peerconnection_api. deps = [ ":libjingle_peerconnection_api", "..:webrtc_common", "../rtc_base:rtc_base", "//third_party/abseil-cpp/absl/types:optional", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } rtc_source_set("rtc_stats_api") { visibility = [ "*" ] cflags = [] sources = [ "stats/rtcstats.h", "stats/rtcstats_objects.h", "stats/rtcstatscollectorcallback.h", "stats/rtcstatsreport.h", ] deps = [ "../rtc_base:checks", "../rtc_base:rtc_base_approved", ] } rtc_source_set("audio_options_api") { visibility = [ "*" ] sources = [ "audio_options.cc", "audio_options.h", ] deps = [ "../rtc_base:rtc_base_approved", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_source_set("transport_api") { visibility = [ "*" ] sources = [ "call/transport.cc", "call/transport.h", ] } rtc_source_set("simulated_network_api") { visibility = [ "*" ] sources = [ "test/simulated_network.h", ] deps = [ "../rtc_base:criticalsection", "../rtc_base:rtc_base", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_source_set("fec_controller_api") { visibility = [ "*" ] sources = [ "fec_controller.h", ] deps = [ "..:webrtc_common", "../modules:module_fec_api", ] } rtc_source_set("array_view") { visibility = [ "*" ] sources = [ "array_view.h", ] deps = [ "../rtc_base:checks", "../rtc_base:type_traits", ] } rtc_source_set("refcountedbase") { visibility = [ "*" ] sources = [ "refcountedbase.h", ] deps = [ "../rtc_base:rtc_base_approved", ] } rtc_source_set("libjingle_peerconnection_test_api") { visibility = [ "*" ] testonly = true sources = [ "test/fakeconstraints.h", ] deps = [ ":libjingle_peerconnection_api", "../rtc_base:rtc_base_approved", ] } 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:audio_processing", "../modules/audio_processing:audioproc_f_impl", ] } } 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", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } 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", "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", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } } 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_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_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("rtc_api_unittests") { testonly = true sources = [ "array_view_unittest.cc", "ortc/mediadescription_unittest.cc", "ortc/sessiondescription_unittest.cc", "rtcerror_unittest.cc", "rtpparameters_unittest.cc", ] if (!build_with_chromium && is_clang) { # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } deps = [ ":array_view", ":libjingle_peerconnection_api", ":ortc_api", "../rtc_base:checks", "../rtc_base:rtc_base_approved", "../rtc_base:rtc_base_tests_utils", "../test:test_support", "units:units_unittests", ] } }