Enable setting surface_ice_candidates_on_ice_transport_type_changed on the fly.
This CL enables to change surface_ice_candidates_on_ice_transport_type_changed
in RTCConfiguration via PeerConnection::SetConfiguration.
Bug: None
Change-Id: Ib7bc8a08bfc9bf59cf07fe217c6f57d0d63615f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143561
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28394}
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index 63d405b..c46dc80 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -3476,6 +3476,8 @@
modified_config.ice_candidate_pool_size =
configuration.ice_candidate_pool_size;
modified_config.prune_turn_ports = configuration.prune_turn_ports;
+ modified_config.surface_ice_candidates_on_ice_transport_type_changed =
+ configuration.surface_ice_candidates_on_ice_transport_type_changed;
modified_config.ice_check_min_interval = configuration.ice_check_min_interval;
modified_config.ice_check_interval_strong_connectivity =
configuration.ice_check_interval_strong_connectivity;
diff --git a/pc/peer_connection_interface_unittest.cc b/pc/peer_connection_interface_unittest.cc
index 1ea4b7f..993b863 100644
--- a/pc/peer_connection_interface_unittest.cc
+++ b/pc/peer_connection_interface_unittest.cc
@@ -2465,9 +2465,22 @@
config = pc_->GetConfiguration();
config.ice_check_min_interval = 100;
EXPECT_TRUE(pc_->SetConfiguration(config));
- PeerConnectionInterface::RTCConfiguration new_config =
- pc_->GetConfiguration();
- EXPECT_EQ(new_config.ice_check_min_interval, 100);
+ config = pc_->GetConfiguration();
+ EXPECT_EQ(config.ice_check_min_interval, 100);
+}
+
+TEST_P(PeerConnectionInterfaceTest,
+ SetConfigurationChangesSurfaceIceCandidatesOnIceTransportTypeChanged) {
+ PeerConnectionInterface::RTCConfiguration config;
+ config.surface_ice_candidates_on_ice_transport_type_changed = false;
+ CreatePeerConnection(config);
+ config = pc_->GetConfiguration();
+ EXPECT_FALSE(config.surface_ice_candidates_on_ice_transport_type_changed);
+
+ config.surface_ice_candidates_on_ice_transport_type_changed = true;
+ EXPECT_TRUE(pc_->SetConfiguration(config));
+ config = pc_->GetConfiguration();
+ EXPECT_TRUE(config.surface_ice_candidates_on_ice_transport_type_changed);
}
// Test that when SetConfiguration changes both the pool size and other