Index: webrtc/pc/channel_unittest.cc |
diff --git a/webrtc/pc/channel_unittest.cc b/webrtc/pc/channel_unittest.cc |
index dd5eaa19f47b0359d5ec50e023e1e68df3edefb6..00ceb7d9d53a9567b03195905dd69a0241092325 100644 |
--- a/webrtc/pc/channel_unittest.cc |
+++ b/webrtc/pc/channel_unittest.cc |
@@ -21,8 +21,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) \ |
@@ -35,9 +35,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); |
@@ -216,15 +216,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; |
} |
@@ -299,21 +299,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); |
} |
@@ -411,7 +411,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; |
} |
@@ -541,43 +541,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. |
@@ -957,7 +957,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()); |
@@ -966,8 +967,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()); |
@@ -983,8 +984,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()); |
@@ -1473,6 +1475,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] { |
@@ -1782,7 +1785,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); |
@@ -1795,8 +1799,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, |
@@ -1846,8 +1850,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. |
@@ -2026,15 +2030,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; |
} |
@@ -3260,15 +3264,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; |
} |
@@ -3596,9 +3600,9 @@ class BaseChannelDeathTest : public testing::Test { |
cricket::CN_AUDIO, |
false, |
true) { |
- rtp_transport_ = fake_transport_controller_.CreateTransportChannel( |
+ rtp_transport_ = fake_transport_controller_.CreateDtlsTransport( |
"foo", cricket::ICE_CANDIDATE_COMPONENT_RTP); |
- rtcp_transport_ = fake_transport_controller_.CreateTransportChannel( |
+ rtcp_transport_ = fake_transport_controller_.CreateDtlsTransport( |
"foo", cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
EXPECT_TRUE(voice_channel_.Init_w(rtp_transport_, rtcp_transport_)); |
} |
@@ -3609,20 +3613,20 @@ class BaseChannelDeathTest : public testing::Test { |
cricket::VoiceChannel voice_channel_; |
// Will be cleaned up by FakeTransportController, don't need to worry about |
// deleting them in this test. |
- cricket::TransportChannel* rtp_transport_; |
- cricket::TransportChannel* rtcp_transport_; |
+ cricket::DtlsTransportInternal* rtp_transport_; |
+ cricket::DtlsTransportInternal* rtcp_transport_; |
}; |
TEST_F(BaseChannelDeathTest, SetTransportWithNullRtpTransport) { |
- cricket::TransportChannel* new_rtcp_transport = |
- fake_transport_controller_.CreateTransportChannel( |
+ cricket::DtlsTransportInternal* new_rtcp_transport = |
+ fake_transport_controller_.CreateDtlsTransport( |
"bar", cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
EXPECT_DEATH(voice_channel_.SetTransports(nullptr, new_rtcp_transport), ""); |
} |
TEST_F(BaseChannelDeathTest, SetTransportWithMissingRtcpTransport) { |
- cricket::TransportChannel* new_rtp_transport = |
- fake_transport_controller_.CreateTransportChannel( |
+ cricket::DtlsTransportInternal* new_rtp_transport = |
+ fake_transport_controller_.CreateDtlsTransport( |
"bar", cricket::ICE_CANDIDATE_COMPONENT_RTP); |
EXPECT_DEATH(voice_channel_.SetTransports(new_rtp_transport, nullptr), ""); |
} |
@@ -3633,11 +3637,11 @@ TEST_F(BaseChannelDeathTest, SetTransportWithUnneededRtcpTransport) { |
content.set_rtcp_mux(true); |
ASSERT_TRUE(voice_channel_.SetLocalContent(&content, CA_OFFER, nullptr)); |
ASSERT_TRUE(voice_channel_.SetRemoteContent(&content, CA_ANSWER, nullptr)); |
- cricket::TransportChannel* new_rtp_transport = |
- fake_transport_controller_.CreateTransportChannel( |
+ cricket::DtlsTransportInternal* new_rtp_transport = |
+ fake_transport_controller_.CreateDtlsTransport( |
"bar", cricket::ICE_CANDIDATE_COMPONENT_RTP); |
- cricket::TransportChannel* new_rtcp_transport = |
- fake_transport_controller_.CreateTransportChannel( |
+ cricket::DtlsTransportInternal* new_rtcp_transport = |
+ fake_transport_controller_.CreateDtlsTransport( |
"bar", cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
// After muxing is enabled, no RTCP transport should be passed in here. |
EXPECT_DEATH( |
@@ -3647,11 +3651,11 @@ TEST_F(BaseChannelDeathTest, SetTransportWithUnneededRtcpTransport) { |
// This test will probably go away if/when we move the transport name out of |
// the transport classes and into their parent classes. |
TEST_F(BaseChannelDeathTest, SetTransportWithMismatchingTransportNames) { |
- cricket::TransportChannel* new_rtp_transport = |
- fake_transport_controller_.CreateTransportChannel( |
+ cricket::DtlsTransportInternal* new_rtp_transport = |
+ fake_transport_controller_.CreateDtlsTransport( |
"bar", cricket::ICE_CANDIDATE_COMPONENT_RTP); |
- cricket::TransportChannel* new_rtcp_transport = |
- fake_transport_controller_.CreateTransportChannel( |
+ cricket::DtlsTransportInternal* new_rtcp_transport = |
+ fake_transport_controller_.CreateDtlsTransport( |
"baz", cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
EXPECT_DEATH( |
voice_channel_.SetTransports(new_rtp_transport, new_rtcp_transport), ""); |