diff --git a/pc/jsep_transport_controller.cc b/pc/jsep_transport_controller.cc index c3fc89ac57..3ea24d4503 100644 --- a/pc/jsep_transport_controller.cc +++ b/pc/jsep_transport_controller.cc @@ -399,8 +399,13 @@ JsepTransportController::CreateIceTransport(const std::string& transport_name, init.set_async_dns_resolver_factory(async_dns_resolver_factory_); init.set_event_log(config_.event_log); init.set_field_trials(config_.field_trials); - return config_.ice_transport_factory->CreateIceTransport( + auto transport = config_.ice_transport_factory->CreateIceTransport( transport_name, component, std::move(init)); + RTC_DCHECK(transport); + transport->internal()->SetIceRole(ice_role_); + transport->internal()->SetIceTiebreaker(ice_tiebreaker_); + transport->internal()->SetIceConfig(ice_config_); + return transport; } std::unique_ptr @@ -421,9 +426,8 @@ JsepTransportController::CreateDtlsTransport( } RTC_DCHECK(dtls); - dtls->ice_transport()->SetIceRole(ice_role_); - dtls->ice_transport()->SetIceTiebreaker(ice_tiebreaker_); - dtls->ice_transport()->SetIceConfig(ice_config_); + RTC_DCHECK_EQ(ice, dtls->ice_transport()); + if (certificate_) { bool set_cert_success = dtls->SetLocalCertificate(certificate_); RTC_DCHECK(set_cert_success); @@ -1035,7 +1039,6 @@ RTCError JsepTransportController::MaybeCreateJsepTransport( rtc::scoped_refptr ice = CreateIceTransport(content_info.name, /*rtcp=*/false); - RTC_DCHECK(ice); std::unique_ptr rtp_dtls_transport = CreateDtlsTransport(content_info, ice->internal());