webrtc/p2p/BUILD.gn
Zhi Huang e818b6ef7f Create the JsepTransportController and JsepTransport2.
JsepTransportController process the entire SDP and  handle the RTCP-mux,
SRTP setup, BUNDLE related logic internally. This will replace the current
TransportController.

JsepTransport2 is used by the JsepTransportController which processes the
transport part of SDP and owns the DtlsTransport created internally.
JsepTransport2 will replace JsepTransport and be renamed eventually.

Bug: webrtc:8587
Change-Id: Ib02dfa52fe9b7a5b8b132afcc8e4363eb8bd9cf4
Reviewed-on: https://webrtc-review.googlesource.com/48841
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22164}
2018-02-23 00:13:45 +00:00

222 lines
5.8 KiB
Text

# Copyright (c) 2016 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")
group("p2p") {
public_deps = [
":libstunprober",
":rtc_p2p",
]
}
rtc_static_library("rtc_p2p") {
visibility = [ "*" ]
sources = [
"base/asyncstuntcpsocket.cc",
"base/asyncstuntcpsocket.h",
"base/basicpacketsocketfactory.cc",
"base/basicpacketsocketfactory.h",
"base/candidatepairinterface.h",
"base/common.h",
"base/dtlstransport.cc",
"base/dtlstransport.h",
"base/dtlstransportinternal.cc",
"base/dtlstransportinternal.h",
"base/icetransportinternal.cc",
"base/icetransportinternal.h",
"base/p2pconstants.cc",
"base/p2pconstants.h",
"base/p2ptransportchannel.cc",
"base/p2ptransportchannel.h",
"base/packetlossestimator.cc",
"base/packetlossestimator.h",
"base/packetsocketfactory.cc",
"base/packetsocketfactory.h",
"base/packettransportinterface.h",
"base/packettransportinternal.cc",
"base/packettransportinternal.h",
"base/port.cc",
"base/port.h",
"base/portallocator.cc",
"base/portallocator.h",
"base/portinterface.cc",
"base/portinterface.h",
"base/pseudotcp.cc",
"base/pseudotcp.h",
"base/relayport.cc",
"base/relayport.h",
"base/session.cc",
"base/session.h",
"base/stun.cc",
"base/stun.h",
"base/stunport.cc",
"base/stunport.h",
"base/stunrequest.cc",
"base/stunrequest.h",
"base/tcpport.cc",
"base/tcpport.h",
"base/transport.h",
"base/transportdescription.cc",
"base/transportdescription.h",
"base/transportdescriptionfactory.cc",
"base/transportdescriptionfactory.h",
"base/transportfactoryinterface.h",
"base/transportinfo.h",
"base/turnport.cc",
"base/turnport.h",
"base/udpport.h",
"base/udptransport.cc",
"base/udptransport.h",
"client/basicportallocator.cc",
"client/basicportallocator.h",
"client/relayportfactoryinterface.h",
"client/turnportfactory.cc",
"client/turnportfactory.h",
]
defines = []
deps = [
"../api:libjingle_peerconnection_api",
"../api:optional",
"../api:ortc_api",
"../logging:ice_log",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:stringutils",
"../system_wrappers:field_trial_api",
]
if (build_with_chromium) {
if (is_nacl) {
deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
}
} else {
sources += [
"base/relayserver.cc",
"base/relayserver.h",
"base/stunserver.cc",
"base/stunserver.h",
"base/turnserver.cc",
"base/turnserver.h",
]
defines += [
"FEATURE_ENABLE_VOICEMAIL",
"FEATURE_ENABLE_PSTN",
]
}
}
if (rtc_include_tests) {
rtc_source_set("p2p_test_utils") {
testonly = true
sources = [
"base/fakecandidatepair.h",
"base/fakedtlstransport.h",
"base/fakeicetransport.h",
"base/fakepackettransport.h",
"base/fakeportallocator.h",
"base/mockicetransport.h",
"base/testrelayserver.h",
"base/teststunserver.cc",
"base/teststunserver.h",
"base/testturncustomizer.h",
"base/testturnserver.h",
]
deps = [
":rtc_p2p",
"../api:libjingle_peerconnection_api",
"../api:ortc_api",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../test:test_support",
]
}
rtc_source_set("rtc_p2p_unittests") {
testonly = true
sources = [
"base/asyncstuntcpsocket_unittest.cc",
"base/dtlstransport_unittest.cc",
"base/p2ptransportchannel_unittest.cc",
"base/packetlossestimator_unittest.cc",
"base/port_unittest.cc",
"base/portallocator_unittest.cc",
"base/pseudotcp_unittest.cc",
"base/relayport_unittest.cc",
"base/relayserver_unittest.cc",
"base/stun_unittest.cc",
"base/stunport_unittest.cc",
"base/stunrequest_unittest.cc",
"base/stunserver_unittest.cc",
"base/tcpport_unittest.cc",
"base/transportdescriptionfactory_unittest.cc",
"base/turnport_unittest.cc",
"base/turnserver_unittest.cc",
"base/udptransport_unittest.cc",
"client/basicportallocator_unittest.cc",
]
deps = [
":p2p_test_utils",
":rtc_p2p",
"../api:fakemetricsobserver",
"../api:ortc_api",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:stringutils",
"../test:test_support",
"//testing/gtest",
]
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" ]
}
defines = [ "GTEST_RELATIVE_PATH" ]
}
}
rtc_static_library("libstunprober") {
visibility = [ "*" ]
sources = [
"stunprober/stunprober.cc",
"stunprober/stunprober.h",
]
deps = [
":rtc_p2p",
"..:webrtc_common",
"../:typedefs",
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
}
if (rtc_include_tests) {
rtc_source_set("libstunprober_unittests") {
testonly = true
sources = [
"stunprober/stunprober_unittest.cc",
]
deps = [
":libstunprober",
":p2p_test_utils",
":rtc_p2p",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_tests_utils",
"//testing/gtest",
]
defines = [ "GTEST_RELATIVE_PATH" ]
}
}