This reverts commit 5117b047875970cf61f2403b590c44c37bfa8272. Reason for revert: Still breaks downstream projects that include too much stuff. Original change's description: > Reland "Clean up libjingle API dependencies." > > This is a reland of 57fb3154b5411934b80051ad827db4e54d00f381 > Original change's description: > > Clean up libjingle API dependencies. > > > > This CL moves candidate.h into the public API, since it has > > been implicitly included before. > > > > This is a straightforward way of solving the circular > > dependencies involving that file. For instance, > > libjingle_peerconnection_api includes candidate.h from > > jsepicecandidate.h, but _api can't depend on rtc_p2p, which > > depends on _api. In fact, _api can't depend on much at all > > since it's a very high level abstraction; instead, things > > should depend on it. > > > > Furthermore, we have the case where deprecated headers > > include headers in internal modules. I just have to turn > > off include checking for those, but that's not a big deal. > > > > This CL punts the problem of callfactoryinterface.h being > > implicitly included, and pulling in most of the call > > module with it. This should be addressed in a follow-up > > CL. > > > > Bug: webrtc:7504 > > Change-Id: I1b1729408158418333ccdf702bf529386090f0d7 > > Reviewed-on: https://webrtc-review.googlesource.com/2020 > > Commit-Queue: Patrik Höglund <phoglund@webrtc.org> > > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org> > > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#20034} > > Bug: webrtc:7504 > Change-Id: I74aeeff678a4ce6482d2f402493ae13e698f1390 > Reviewed-on: https://webrtc-review.googlesource.com/4703 > Commit-Queue: Patrik Höglund <phoglund@webrtc.org> > Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org> > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#20062} TBR=phoglund@webrtc.org,deadbeef@webrtc.org,solenberg@webrtc.org Change-Id: I19068df5f3ee8145c5ff13c86a42b6860e9cc834 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:7504 Reviewed-on: https://webrtc-review.googlesource.com/5460 Reviewed-by: Patrik Höglund <phoglund@webrtc.org> Commit-Queue: Patrik Höglund <phoglund@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20065}
303 lines
7.3 KiB
Plaintext
303 lines
7.3 KiB
Plaintext
# 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") {
|
|
public_deps = [
|
|
":libjingle_peerconnection_api",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("call_api") {
|
|
sources = [
|
|
"call/audio_sink.h",
|
|
]
|
|
|
|
deps = [
|
|
# TODO(kjellander): Add remaining dependencies when webrtc:4243 is done.
|
|
":audio_mixer_api",
|
|
":transport_api",
|
|
"..:webrtc_common",
|
|
"../rtc_base:rtc_base_approved",
|
|
"audio_codecs:audio_codecs_api",
|
|
]
|
|
}
|
|
|
|
rtc_static_library("libjingle_peerconnection_api") {
|
|
# Cannot have GN check enabled since that would introduce dependency cycles
|
|
# TODO(kjellander): Remove (bugs.webrtc.org/7504)
|
|
check_includes = false
|
|
cflags = []
|
|
sources = [
|
|
"datachannel.h",
|
|
"datachannelinterface.h",
|
|
"dtmfsenderinterface.h",
|
|
"jsep.h",
|
|
"jsepicecandidate.h",
|
|
"jsepsessiondescription.h",
|
|
"mediaconstraintsinterface.cc",
|
|
"mediaconstraintsinterface.h",
|
|
"mediastream.h",
|
|
"mediastreaminterface.cc",
|
|
"mediastreaminterface.h",
|
|
"mediastreamproxy.h",
|
|
"mediastreamtrack.h",
|
|
"mediastreamtrackproxy.h",
|
|
"mediatypes.cc",
|
|
"mediatypes.h",
|
|
"notifier.h",
|
|
"peerconnectionfactoryproxy.h",
|
|
"peerconnectioninterface.h",
|
|
"peerconnectionproxy.h",
|
|
"proxy.h",
|
|
"rtcerror.cc",
|
|
"rtcerror.h",
|
|
"rtpparameters.cc",
|
|
"rtpparameters.h",
|
|
"rtpreceiverinterface.h",
|
|
"rtpsender.h",
|
|
"rtpsenderinterface.h",
|
|
"statstypes.cc",
|
|
"statstypes.h",
|
|
"streamcollection.h",
|
|
"umametrics.h",
|
|
"videosourceproxy.h",
|
|
"videotracksource.h",
|
|
"webrtcsdp.h",
|
|
]
|
|
|
|
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 = [
|
|
":rtc_stats_api",
|
|
"..:webrtc_common",
|
|
"../rtc_base:rtc_base",
|
|
"../rtc_base:rtc_base_approved",
|
|
"audio_codecs:audio_codecs_api",
|
|
]
|
|
|
|
# This is needed until bugs.webrtc.org/7504 is removed so this target can
|
|
# properly depend on ../media:rtc_media_base
|
|
# TODO(kjellander): Remove this dependency.
|
|
if (is_nacl) {
|
|
deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
|
|
}
|
|
}
|
|
|
|
rtc_source_set("ortc_api") {
|
|
check_includes = false # TODO(deadbeef): Remove (bugs.webrtc.org/6828)
|
|
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.
|
|
public_deps = [
|
|
":libjingle_peerconnection_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" ]
|
|
}
|
|
}
|
|
|
|
# TODO(ossu): Remove once downstream projects have updated.
|
|
rtc_source_set("libjingle_peerconnection") {
|
|
public_deps = [
|
|
"../pc:libjingle_peerconnection",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("rtc_stats_api") {
|
|
cflags = []
|
|
sources = [
|
|
"stats/rtcstats.h",
|
|
"stats/rtcstats_objects.h",
|
|
"stats/rtcstatscollectorcallback.h",
|
|
"stats/rtcstatsreport.h",
|
|
]
|
|
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("audio_mixer_api") {
|
|
sources = [
|
|
"audio/audio_mixer.h",
|
|
]
|
|
|
|
deps = [
|
|
"../modules:module_api",
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("transport_api") {
|
|
sources = [
|
|
"call/transport.h",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("video_frame_api") {
|
|
sources = [
|
|
"video/i420_buffer.cc",
|
|
"video/i420_buffer.h",
|
|
"video/video_content_type.cc",
|
|
"video/video_content_type.h",
|
|
"video/video_frame.cc",
|
|
"video/video_frame.h",
|
|
"video/video_frame_buffer.cc",
|
|
"video/video_frame_buffer.h",
|
|
"video/video_rotation.h",
|
|
"video/video_timing.cc",
|
|
"video/video_timing.h",
|
|
]
|
|
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
"../system_wrappers",
|
|
]
|
|
|
|
# TODO(nisse): This logic is duplicated in multiple places.
|
|
# Define in a single place.
|
|
if (rtc_build_libyuv) {
|
|
deps += [ "$rtc_libyuv_dir" ]
|
|
public_deps = [
|
|
"$rtc_libyuv_dir",
|
|
]
|
|
} else {
|
|
# Need to add a directory normally exported by libyuv.
|
|
include_dirs = [ "$rtc_libyuv_dir/include" ]
|
|
}
|
|
}
|
|
|
|
rtc_source_set("array_view") {
|
|
sources = [
|
|
"array_view.h",
|
|
]
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("optional") {
|
|
sources = [
|
|
"optional.cc",
|
|
"optional.h",
|
|
]
|
|
deps = [
|
|
":array_view",
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("libjingle_peerconnection_test_api") {
|
|
testonly = true
|
|
sources = [
|
|
"test/fakeconstraints.h",
|
|
]
|
|
|
|
public_deps = [
|
|
":libjingle_peerconnection_api",
|
|
]
|
|
|
|
deps = [
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_source_set("mock_audio_mixer") {
|
|
testonly = true
|
|
sources = [
|
|
"test/mock_audio_mixer.h",
|
|
]
|
|
|
|
public_deps = [
|
|
":audio_mixer_api",
|
|
]
|
|
|
|
deps = [
|
|
"../test:test_support",
|
|
"//testing/gmock",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("fakemetricsobserver") {
|
|
testonly = true
|
|
sources = [
|
|
"fakemetricsobserver.cc",
|
|
"fakemetricsobserver.h",
|
|
]
|
|
deps = [
|
|
":libjingle_peerconnection_api",
|
|
"../rtc_base:rtc_base_approved",
|
|
]
|
|
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_api_unittests") {
|
|
testonly = true
|
|
|
|
# Skip restricting visibility on mobile platforms since the tests on those
|
|
# gets additional generated targets which would require many lines here to
|
|
# cover (which would be confusing to read and hard to maintain).
|
|
if (!is_android && !is_ios) {
|
|
visibility = [ "..:rtc_unittests" ]
|
|
}
|
|
sources = [
|
|
"array_view_unittest.cc",
|
|
"optional_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",
|
|
":optional",
|
|
":ortc_api",
|
|
"../rtc_base:rtc_base_approved",
|
|
"../rtc_base:rtc_base_tests_utils",
|
|
"../test:test_support",
|
|
]
|
|
}
|
|
}
|