Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(953)

Unified Diff: webrtc/pc/channel_unittest.cc

Issue 1803063004: Reset the BWE when the network changes (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Removed changes in call dir and leave that in a separate CL. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/pc/channel.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/pc/channel_unittest.cc
diff --git a/webrtc/pc/channel_unittest.cc b/webrtc/pc/channel_unittest.cc
index ecbdad4888b7bac55bbd290091d559346dd7e3f8..9d20def32f2c60bf9b5b307c605497ed9961ad9e 100644
--- a/webrtc/pc/channel_unittest.cc
+++ b/webrtc/pc/channel_unittest.cc
@@ -490,6 +490,10 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> {
}
}
+ cricket::CandidatePairInterface* last_selected_candidate_pair() {
+ return last_selected_candidate_pair_;
+ }
+
void AddLegacyStreamInContent(uint32_t ssrc,
int flags,
typename T::Content* content) {
@@ -951,6 +955,41 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> {
EXPECT_TRUE(media_channel2_->sending());
}
+ // Tests that when the transport channel signals a candidate pair change
+ // event, the media channel will receive a call on the network route change.
+ void TestNetworkRouteChanges() {
+ CreateChannels(0, 0);
+
+ cricket::TransportChannel* transport_channel1 =
+ channel1_->transport_channel();
+ ASSERT_TRUE(transport_channel1 != nullptr);
+ typename T::MediaChannel* media_channel1 =
+ static_cast<typename T::MediaChannel*>(channel1_->media_channel());
+ ASSERT_TRUE(media_channel1 != nullptr);
+
+ media_channel1_->set_num_network_route_changes(0);
+ // The transport channel becomes disconnected.
+ transport_channel1->SignalSelectedCandidatePairChanged(transport_channel1,
+ nullptr);
+ EXPECT_EQ(1, media_channel1_->num_network_route_changes());
+ EXPECT_FALSE(media_channel1->last_network_route().connected);
+
+ media_channel1_->set_num_network_route_changes(0);
+ // The transport channel becomes connected.
+ rtc::SocketAddress local_address("192.168.1.1", 1000 /* port number */);
+ rtc::SocketAddress remote_address("192.168.1.2", 2000 /* port number */);
+ uint16_t local_net_id = 1;
+ uint16_t remote_net_id = 2;
+ rtc::scoped_ptr<cricket::CandidatePairInterface> candidate_pair(
+ transport_controller1_.CreateFakeCandidatePair(
+ local_address, local_net_id, remote_address, remote_net_id));
+ transport_channel1->SignalSelectedCandidatePairChanged(
+ transport_channel1, candidate_pair.get());
+ EXPECT_EQ(1, media_channel1_->num_network_route_changes());
+ cricket::NetworkRoute expected_network_route(local_net_id, remote_net_id);
+ EXPECT_EQ(expected_network_route, media_channel1->last_network_route());
+ }
+
// Test setting up a call.
void TestCallSetup() {
CreateChannels(0, 0);
@@ -1871,6 +1910,7 @@ class ChannelTest : public testing::Test, public sigslot::has_slots<> {
std::string rtcp_packet_;
int media_info_callbacks1_;
int media_info_callbacks2_;
+ cricket::CandidatePairInterface* last_selected_candidate_pair_;
};
template<>
@@ -1996,7 +2036,6 @@ class VideoChannelTest
// VoiceChannelTest
-
TEST_F(VoiceChannelTest, TestInit) {
Base::TestInit();
EXPECT_FALSE(media_channel1_->IsStreamMuted(0));
@@ -2069,6 +2108,10 @@ TEST_F(VoiceChannelTest, TestMediaContentDirection) {
Base::TestMediaContentDirection();
}
+TEST_F(VoiceChannelTest, TestNetworkRouteChanges) {
+ Base::TestNetworkRouteChanges();
+}
+
TEST_F(VoiceChannelTest, TestCallSetup) {
Base::TestCallSetup();
}
@@ -2399,6 +2442,10 @@ TEST_F(VideoChannelTest, TestMediaContentDirection) {
Base::TestMediaContentDirection();
}
+TEST_F(VideoChannelTest, TestNetworkRouteChanges) {
+ Base::TestNetworkRouteChanges();
+}
+
TEST_F(VideoChannelTest, TestCallSetup) {
Base::TestCallSetup();
}
« no previous file with comments | « webrtc/pc/channel.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698