Index: webrtc/p2p/base/faketransportcontroller.h |
diff --git a/webrtc/p2p/base/faketransportcontroller.h b/webrtc/p2p/base/faketransportcontroller.h |
index a267f209670bf6dc67a1e4859215e491574f22df..61f84a25dff263cbb3e743c34127be2a8d35382f 100644 |
--- a/webrtc/p2p/base/faketransportcontroller.h |
+++ b/webrtc/p2p/base/faketransportcontroller.h |
@@ -554,8 +554,19 @@ class FakeTransportController : public TransportController { |
} |
void ConnectChannels_w() { |
+ TransportDescription faketransport_desc( |
+ std::vector<std::string>(), |
+ rtc::CreateRandomString(cricket::ICE_UFRAG_LENGTH), |
+ rtc::CreateRandomString(cricket::ICE_PWD_LENGTH), cricket::ICEMODE_FULL, |
+ cricket::CONNECTIONROLE_NONE, nullptr); |
for (auto& kv : transports()) { |
FakeTransport* transport = static_cast<FakeTransport*>(kv.second); |
+ // Set local transport description for FakeTransport before connecting. |
+ // Otherwise, the RTC_CHECK in Transport.ConnectChannel will fail. |
+ if (!transport->local_description()) { |
+ transport->SetLocalTransportDescription(faketransport_desc, |
+ cricket::CA_OFFER, nullptr); |
+ } |
transport->ConnectChannels(); |
transport->MaybeStartGathering(); |
} |