Index: webrtc/pc/channel_unittest.cc |
diff --git a/webrtc/pc/channel_unittest.cc b/webrtc/pc/channel_unittest.cc |
index 3970588e833ee47172e9b6fff1c2c16f682cbe2e..cd496511e186537b5d3be7f3c70e127f335447cb 100644 |
--- a/webrtc/pc/channel_unittest.cc |
+++ b/webrtc/pc/channel_unittest.cc |
@@ -20,8 +20,8 @@ |
#include "webrtc/media/base/fakertp.h" |
#include "webrtc/media/base/mediachannel.h" |
#include "webrtc/media/base/testutils.h" |
+#include "webrtc/p2p/base/dtlstransportinternal.h" |
#include "webrtc/p2p/base/faketransportcontroller.h" |
-#include "webrtc/p2p/base/transportchannelimpl.h" |
#include "webrtc/pc/channel.h" |
#define MAYBE_SKIP_TEST(feature) \ |
@@ -34,9 +34,9 @@ using cricket::CA_OFFER; |
using cricket::CA_PRANSWER; |
using cricket::CA_ANSWER; |
using cricket::CA_UPDATE; |
+using cricket::DtlsTransportInternal; |
using cricket::FakeVoiceMediaChannel; |
using cricket::StreamParams; |
-using cricket::TransportChannel; |
namespace { |
const cricket::AudioCodec kPcmuCodec(0, "PCMU", 64000, 8000, 1); |
@@ -215,15 +215,15 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
rtc::CryptoOptions crypto_options; |
crypto_options.enable_gcm_crypto_suites = (flags & GCM_CIPHER) != 0; |
channel->SetCryptoOptions(crypto_options); |
- cricket::TransportChannel* rtp_transport = |
- transport_controller->CreateTransportChannel( |
+ cricket::DtlsTransportInternal* rtp_dtls_transport = |
+ transport_controller->CreateDtlsTransport( |
channel->content_name(), cricket::ICE_CANDIDATE_COMPONENT_RTP); |
- cricket::TransportChannel* rtcp_transport = nullptr; |
+ cricket::DtlsTransportInternal* rtcp_dtls_transport = nullptr; |
if (channel->NeedsRtcpTransport()) { |
- rtcp_transport = transport_controller->CreateTransportChannel( |
+ rtcp_dtls_transport = transport_controller->CreateDtlsTransport( |
channel->content_name(), cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
} |
- if (!channel->Init_w(rtp_transport, rtcp_transport)) { |
+ if (!channel->Init_w(rtp_dtls_transport, rtcp_dtls_transport)) { |
delete channel; |
channel = NULL; |
} |
@@ -298,21 +298,21 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
return channel1_->RemoveRecvStream(id); |
} |
- std::vector<cricket::TransportChannelImpl*> GetChannels1() { |
+ std::vector<cricket::DtlsTransportInternal*> GetChannels1() { |
return transport_controller1_->channels_for_testing(); |
} |
- std::vector<cricket::TransportChannelImpl*> GetChannels2() { |
+ std::vector<cricket::DtlsTransportInternal*> GetChannels2() { |
return transport_controller2_->channels_for_testing(); |
} |
- cricket::FakeTransportChannel* GetFakeChannel1(int component) { |
- return transport_controller1_->GetFakeTransportChannel_n( |
+ cricket::FakeDtlsTransport* GetFakeChannel1(int component) { |
+ return transport_controller1_->GetFakeDtlsTransport_n( |
channel1_->content_name(), component); |
} |
- cricket::FakeTransportChannel* GetFakeChannel2(int component) { |
- return transport_controller2_->GetFakeTransportChannel_n( |
+ cricket::FakeDtlsTransport* GetFakeChannel2(int component) { |
+ return transport_controller2_->GetFakeDtlsTransport_n( |
channel2_->content_name(), component); |
} |
@@ -410,7 +410,7 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
// Returns true if so. |
bool CheckGcmCipher(typename T::Channel* channel, int flags) { |
int suite; |
- if (!channel->rtp_transport()->GetSrtpCryptoSuite(&suite)) { |
+ if (!channel->rtp_dtls_transport()->GetSrtpCryptoSuite(&suite)) { |
return false; |
} |
@@ -540,43 +540,43 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
// mux. |
void TestSetContentsRtcpMux() { |
CreateChannels(0, 0); |
- EXPECT_TRUE(channel1_->rtcp_transport() != NULL); |
- EXPECT_TRUE(channel2_->rtcp_transport() != NULL); |
+ EXPECT_TRUE(channel1_->rtcp_dtls_transport() != NULL); |
+ EXPECT_TRUE(channel2_->rtcp_dtls_transport() != NULL); |
typename T::Content content; |
CreateContent(0, kPcmuCodec, kH264Codec, &content); |
// Both sides agree on mux. Should no longer be a separate RTCP channel. |
content.set_rtcp_mux(true); |
EXPECT_TRUE(channel1_->SetLocalContent(&content, CA_OFFER, NULL)); |
EXPECT_TRUE(channel1_->SetRemoteContent(&content, CA_ANSWER, NULL)); |
- EXPECT_TRUE(channel1_->rtcp_transport() == NULL); |
+ EXPECT_TRUE(channel1_->rtcp_dtls_transport() == NULL); |
// Only initiator supports mux. Should still have a separate RTCP channel. |
EXPECT_TRUE(channel2_->SetLocalContent(&content, CA_OFFER, NULL)); |
content.set_rtcp_mux(false); |
EXPECT_TRUE(channel2_->SetRemoteContent(&content, CA_ANSWER, NULL)); |
- EXPECT_TRUE(channel2_->rtcp_transport() != NULL); |
+ EXPECT_TRUE(channel2_->rtcp_dtls_transport() != NULL); |
} |
// Test that SetLocalContent and SetRemoteContent properly set RTCP |
// mux when a provisional answer is received. |
void TestSetContentsRtcpMuxWithPrAnswer() { |
CreateChannels(0, 0); |
- EXPECT_TRUE(channel1_->rtcp_transport() != NULL); |
- EXPECT_TRUE(channel2_->rtcp_transport() != NULL); |
+ EXPECT_TRUE(channel1_->rtcp_dtls_transport() != NULL); |
+ EXPECT_TRUE(channel2_->rtcp_dtls_transport() != NULL); |
typename T::Content content; |
CreateContent(0, kPcmuCodec, kH264Codec, &content); |
content.set_rtcp_mux(true); |
EXPECT_TRUE(channel1_->SetLocalContent(&content, CA_OFFER, NULL)); |
EXPECT_TRUE(channel1_->SetRemoteContent(&content, CA_PRANSWER, NULL)); |
- EXPECT_TRUE(channel1_->rtcp_transport() != NULL); |
+ EXPECT_TRUE(channel1_->rtcp_dtls_transport() != NULL); |
EXPECT_TRUE(channel1_->SetRemoteContent(&content, CA_ANSWER, NULL)); |
// Both sides agree on mux. Should no longer be a separate RTCP channel. |
- EXPECT_TRUE(channel1_->rtcp_transport() == NULL); |
+ EXPECT_TRUE(channel1_->rtcp_dtls_transport() == NULL); |
// Only initiator supports mux. Should still have a separate RTCP channel. |
EXPECT_TRUE(channel2_->SetLocalContent(&content, CA_OFFER, NULL)); |
content.set_rtcp_mux(false); |
EXPECT_TRUE(channel2_->SetRemoteContent(&content, CA_PRANSWER, NULL)); |
EXPECT_TRUE(channel2_->SetRemoteContent(&content, CA_ANSWER, NULL)); |
- EXPECT_TRUE(channel2_->rtcp_transport() != NULL); |
+ EXPECT_TRUE(channel2_->rtcp_dtls_transport() != NULL); |
} |
// Test that SetRemoteContent properly deals with a content update. |
@@ -956,7 +956,8 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
CreateChannels(0, 0); |
- cricket::TransportChannel* transport_channel1 = channel1_->rtp_transport(); |
+ cricket::DtlsTransportInternal* transport_channel1 = |
+ channel1_->rtp_dtls_transport(); |
ASSERT_TRUE(transport_channel1); |
typename T::MediaChannel* media_channel1 = |
static_cast<typename T::MediaChannel*>(channel1_->media_channel()); |
@@ -965,8 +966,8 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
media_channel1->set_num_network_route_changes(0); |
network_thread_->Invoke<void>(RTC_FROM_HERE, [transport_channel1] { |
// The transport channel becomes disconnected. |
- transport_channel1->SignalSelectedCandidatePairChanged( |
- transport_channel1, nullptr, -1, false); |
+ transport_channel1->ice_transport()->SignalSelectedCandidatePairChanged( |
+ transport_channel1->ice_transport(), nullptr, -1, false); |
}); |
WaitForThreads(); |
EXPECT_EQ(1, media_channel1->num_network_route_changes()); |
@@ -982,8 +983,9 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
std::unique_ptr<cricket::CandidatePairInterface> candidate_pair( |
transport_controller1_->CreateFakeCandidatePair( |
local_address, kLocalNetId, remote_address, kRemoteNetId)); |
- transport_channel1->SignalSelectedCandidatePairChanged( |
- transport_channel1, candidate_pair.get(), kLastPacketId, true); |
+ transport_channel1->ice_transport()->SignalSelectedCandidatePairChanged( |
+ transport_channel1->ice_transport(), candidate_pair.get(), |
+ kLastPacketId, true); |
}); |
WaitForThreads(); |
EXPECT_EQ(1, media_channel1->num_network_route_changes()); |
@@ -1472,6 +1474,7 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
WaitForThreads(); |
EXPECT_TRUE(CheckRtp1()); |
EXPECT_TRUE(CheckNoRtp2()); |
+ EXPECT_TRUE(CheckNoRtp1()); |
// Gain writability back |
network_thread_->Invoke<void>(RTC_FROM_HERE, [this] { |
@@ -1781,7 +1784,8 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
error_handler.mode_ = cricket::SrtpFilter::UNPROTECT; |
network_thread_->Invoke<void>(RTC_FROM_HERE, [this] { |
- cricket::TransportChannel* transport_channel = channel2_->rtp_transport(); |
+ cricket::DtlsTransportInternal* transport_channel = |
+ channel2_->rtp_dtls_transport(); |
transport_channel->SignalReadPacket( |
transport_channel, reinterpret_cast<const char*>(kBadPacket), |
sizeof(kBadPacket), rtc::PacketTime(), 0); |
@@ -1794,8 +1798,8 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
void TestOnReadyToSend() { |
CreateChannels(0, 0); |
- TransportChannel* rtp = channel1_->rtp_transport(); |
- TransportChannel* rtcp = channel1_->rtcp_transport(); |
+ DtlsTransportInternal* rtp = channel1_->rtp_dtls_transport(); |
+ DtlsTransportInternal* rtcp = channel1_->rtcp_dtls_transport(); |
EXPECT_FALSE(media_channel1_->ready_to_send()); |
network_thread_->Invoke<void>(RTC_FROM_HERE, |
@@ -1845,8 +1849,8 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> { |
content.set_rtcp_mux(true); |
EXPECT_TRUE(channel1_->SetLocalContent(&content, CA_OFFER, NULL)); |
EXPECT_TRUE(channel1_->SetRemoteContent(&content, CA_ANSWER, NULL)); |
- EXPECT_TRUE(channel1_->rtcp_transport() == NULL); |
- TransportChannel* rtp = channel1_->rtp_transport(); |
+ EXPECT_TRUE(channel1_->rtcp_dtls_transport() == NULL); |
+ DtlsTransportInternal* rtp = channel1_->rtp_dtls_transport(); |
EXPECT_FALSE(media_channel1_->ready_to_send()); |
// In the case of rtcp mux, the SignalReadyToSend() from rtp channel |
// should trigger the MediaChannel's OnReadyToSend. |
@@ -2025,15 +2029,15 @@ cricket::VideoChannel* ChannelTest<VideoTraits>::CreateChannel( |
rtc::CryptoOptions crypto_options; |
crypto_options.enable_gcm_crypto_suites = (flags & GCM_CIPHER) != 0; |
channel->SetCryptoOptions(crypto_options); |
- cricket::TransportChannel* rtp_transport = |
- transport_controller->CreateTransportChannel( |
+ cricket::DtlsTransportInternal* rtp_dtls_transport = |
+ transport_controller->CreateDtlsTransport( |
channel->content_name(), cricket::ICE_CANDIDATE_COMPONENT_RTP); |
- cricket::TransportChannel* rtcp_transport = nullptr; |
+ cricket::DtlsTransportInternal* rtcp_dtls_transport = nullptr; |
if (channel->NeedsRtcpTransport()) { |
- rtcp_transport = transport_controller->CreateTransportChannel( |
+ rtcp_dtls_transport = transport_controller->CreateDtlsTransport( |
channel->content_name(), cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
} |
- if (!channel->Init_w(rtp_transport, rtcp_transport)) { |
+ if (!channel->Init_w(rtp_dtls_transport, rtcp_dtls_transport)) { |
delete channel; |
channel = NULL; |
} |
@@ -3259,15 +3263,15 @@ cricket::RtpDataChannel* ChannelTest<DataTraits>::CreateChannel( |
rtc::CryptoOptions crypto_options; |
crypto_options.enable_gcm_crypto_suites = (flags & GCM_CIPHER) != 0; |
channel->SetCryptoOptions(crypto_options); |
- cricket::TransportChannel* rtp_transport = |
- transport_controller->CreateTransportChannel( |
+ cricket::DtlsTransportInternal* rtp_dtls_transport = |
+ transport_controller->CreateDtlsTransport( |
channel->content_name(), cricket::ICE_CANDIDATE_COMPONENT_RTP); |
- cricket::TransportChannel* rtcp_transport = nullptr; |
+ cricket::DtlsTransportInternal* rtcp_dtls_transport = nullptr; |
if (channel->NeedsRtcpTransport()) { |
- rtcp_transport = transport_controller->CreateTransportChannel( |
+ rtcp_dtls_transport = transport_controller->CreateDtlsTransport( |
channel->content_name(), cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
} |
- if (!channel->Init_w(rtp_transport, rtcp_transport)) { |
+ if (!channel->Init_w(rtp_dtls_transport, rtcp_dtls_transport)) { |
delete channel; |
channel = NULL; |
} |