Bug 1425873 - Part 2: Sync send stream ids even when there is no send track. r+drno draft
authorByron Campen [:bwc] <docfaraday@gmail.com>
Mon, 18 Dec 2017 11:52:01 -0600
changeset 712771 f43904f5f934ef9132f3091135847d38af837c0b
parent 712770 fb1150ad95570a495c525b8da5a285db87bd9bf7
child 744136 183fe6b639fdb8c3e94e986e945b7ab1ae3564fe
push id93424
push userbcampen@mozilla.com
push dateMon, 18 Dec 2017 19:00:47 +0000
bugs1425873
milestone59.0a1
Bug 1425873 - Part 2: Sync send stream ids even when there is no send track. r+drno MozReview-Commit-ID: 7s3f1Q8sCI1
media/webrtc/signaling/src/peerconnection/TransceiverImpl.cpp
--- a/media/webrtc/signaling/src/peerconnection/TransceiverImpl.cpp
+++ b/media/webrtc/signaling/src/peerconnection/TransceiverImpl.cpp
@@ -412,39 +412,41 @@ TransceiverImpl::SyncWithJS(dom::RTCRtpT
     return;
   }
 
   RefPtr<dom::MediaStreamTrack> sendTrack = sender->GetTrack(aRv);
   if (aRv.Failed()) {
     return;
   }
 
+  std::string trackId = mJsepTransceiver->mSendTrack.GetTrackId();
+
   if (sendTrack) {
     nsString wideTrackId;
     sendTrack->GetId(wideTrackId);
-    std::string trackId = NS_ConvertUTF16toUTF8(wideTrackId).get();
+    trackId = NS_ConvertUTF16toUTF8(wideTrackId).get();
     MOZ_ASSERT(!trackId.empty());
+  }
 
-    nsTArray<RefPtr<DOMMediaStream>> streams;
-    sender->GetStreams(streams, aRv);
-    if (aRv.Failed()) {
-      return;
-    }
+  nsTArray<RefPtr<DOMMediaStream>> streams;
+  sender->GetStreams(streams, aRv);
+  if (aRv.Failed()) {
+    return;
+  }
 
-    std::vector<std::string> streamIds;
-    for (const auto& stream : streams) {
-      nsString wideStreamId;
-      stream->GetId(wideStreamId);
-      std::string streamId = NS_ConvertUTF16toUTF8(wideStreamId).get();
-      MOZ_ASSERT(!streamId.empty());
-      streamIds.push_back(streamId);
-    }
+  std::vector<std::string> streamIds;
+  for (const auto& stream : streams) {
+    nsString wideStreamId;
+    stream->GetId(wideStreamId);
+    std::string streamId = NS_ConvertUTF16toUTF8(wideStreamId).get();
+    MOZ_ASSERT(!streamId.empty());
+    streamIds.push_back(streamId);
+  }
 
-    mJsepTransceiver->mSendTrack.UpdateTrackIds(streamIds, trackId);
-  }
+  mJsepTransceiver->mSendTrack.UpdateTrackIds(streamIds, trackId);
 
   // Update RTCRtpParameters
   // TODO: Both ways for things like ssrc, codecs, header extensions, etc
 
   dom::RTCRtpParameters parameters;
   sender->GetParameters(parameters, aRv);
 
   if (aRv.Failed()) {