Index: talk/app/webrtc/peerconnection.cc |
diff --git a/talk/app/webrtc/peerconnection.cc b/talk/app/webrtc/peerconnection.cc |
index 5f1e3ebdc5e22809a45bba59a85f9005fbc5e500..d0b73ac2f26b2fd76b32efa7af2bd4583900966c 100644 |
--- a/talk/app/webrtc/peerconnection.cc |
+++ b/talk/app/webrtc/peerconnection.cc |
@@ -461,7 +461,11 @@ bool ConvertRtcOptionsForOffer( |
} |
session_options->vad_enabled = rtc_options.voice_activity_detection; |
- session_options->transport_options.ice_restart = rtc_options.ice_restart; |
+ session_options->audio_transport_options.ice_restart = |
+ rtc_options.ice_restart; |
+ session_options->video_transport_options.ice_restart = |
+ rtc_options.ice_restart; |
+ session_options->data_transport_options.ice_restart = rtc_options.ice_restart; |
session_options->bundle_enabled = rtc_options.use_rtp_mux; |
return true; |
@@ -507,10 +511,14 @@ bool ParseConstraintsForAnswer(const MediaConstraintsInterface* constraints, |
if (FindConstraint(constraints, MediaConstraintsInterface::kIceRestart, |
&value, &mandatory_constraints_satisfied)) { |
- session_options->transport_options.ice_restart = value; |
+ session_options->audio_transport_options.ice_restart = value; |
+ session_options->video_transport_options.ice_restart = value; |
+ session_options->data_transport_options.ice_restart = value; |
} else { |
// kIceRestart defaults to false according to spec. |
- session_options->transport_options.ice_restart = false; |
+ session_options->audio_transport_options.ice_restart = false; |
+ session_options->video_transport_options.ice_restart = false; |
+ session_options->data_transport_options.ice_restart = false; |
} |
if (!constraints) { |
@@ -962,7 +970,8 @@ void PeerConnection::SetLocalDescription( |
// SCTP sids. |
rtc::SSLRole role; |
if (session_->data_channel_type() == cricket::DCT_SCTP && |
- session_->GetSslRole(&role)) { |
+ session_->data_channel() && |
+ session_->GetSslRole(session_->data_channel()->transport_name(), &role)) { |
pthatcher1
2016/01/07 21:12:02
Can you make a method so you can call like this?
Taylor Brandstetter
2016/01/07 22:25:55
This method will probably be refactored away when
|
AllocateSctpSids(role); |
} |
@@ -1040,7 +1049,8 @@ void PeerConnection::SetRemoteDescription( |
// SCTP sids. |
rtc::SSLRole role; |
if (session_->data_channel_type() == cricket::DCT_SCTP && |
- session_->GetSslRole(&role)) { |
+ session_->data_channel() && |
+ session_->GetSslRole(session_->data_channel()->transport_name(), &role)) { |
AllocateSctpSids(role); |
} |
@@ -1833,7 +1843,9 @@ rtc::scoped_refptr<DataChannel> PeerConnection::InternalCreateDataChannel( |
if (session_->data_channel_type() == cricket::DCT_SCTP) { |
if (new_config.id < 0) { |
rtc::SSLRole role; |
- if (session_->GetSslRole(&role) && |
+ if ((session_->data_channel() && |
+ session_->GetSslRole(session_->data_channel()->transport_name(), |
+ &role)) && |
!sid_allocator_.AllocateSid(role, &new_config.id)) { |
LOG(LS_ERROR) << "No id can be allocated for the SCTP data channel."; |
return nullptr; |