Bug 1269486: prevent JsepSession from overwritting IceControlling draft
authorNils Ohlmeier [:drno] <drno@ohlmeier.org>
Tue, 03 May 2016 00:32:30 -0700
changeset 362792 af397ab02d6fcb4f12ad235d22f81a3d33bbeb2a
parent 362791 a3c5f8b71bbbac7a98316a27d0292913e2cd8df1
child 519881 307ae7afd651c1b92a440b219dd5c359c9bd55d4
push id17038
push userdrno@ohlmeier.org
push dateTue, 03 May 2016 08:16:36 +0000
bugs1269486
milestone49.0a1
Bug 1269486: prevent JsepSession from overwritting IceControlling MozReview-Commit-ID: 5dZNEaMh8j0
media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp
--- a/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp
+++ b/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp
@@ -1266,17 +1266,19 @@ JsepSessionImpl::SetRemoteDescription(Js
 
 nsresult
 JsepSessionImpl::HandleNegotiatedSession(const UniquePtr<Sdp>& local,
                                          const UniquePtr<Sdp>& remote)
 {
   bool remoteIceLite =
       remote->GetAttributeList().HasAttribute(SdpAttribute::kIceLiteAttribute);
 
-  mIceControlling = remoteIceLite || mIsOfferer;
+  if (mNegotiations == 0) {
+    mIceControlling = remoteIceLite || mIsOfferer;
+  }
 
   const Sdp& answer = mIsOfferer ? *remote : *local;
 
   SdpHelper::BundledMids bundledMids;
   nsresult rv = mSdpHelper.GetBundledMids(answer, &bundledMids);
   NS_ENSURE_SUCCESS(rv, rv);
 
   if (mTransports.size() < local->GetMediaSectionCount()) {