Bug 1264479: don't crash on disappearing data channels. r?bwc draft
authorNils Ohlmeier [:drno] <drno@ohlmeier.org>
Thu, 31 Aug 2017 14:30:50 -0700
changeset 657179 18663e48711fdf565d0f7a16046e258ccb657c35
parent 657178 663c1e3460b5fa1e292d35fb21079ba204e90a90
child 657180 8a1c24728372df374884af65bd6a406bdb6ad89c
push id77461
push userdrno@ohlmeier.org
push dateFri, 01 Sep 2017 05:23:27 +0000
reviewersbwc
bugs1264479
milestone57.0a1
Bug 1264479: don't crash on disappearing data channels. r?bwc MozReview-Commit-ID: 3DmM7teByR8
media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
@@ -1979,16 +1979,21 @@ PeerConnectionImpl::RemoveOldRemoteTrack
 
   std::vector<RefPtr<JsepTrack>> removedTracks =
     mJsepSession->GetRemoteTracksRemoved();
 
   for (auto& removedTrack : removedTracks) {
     const std::string& streamId = removedTrack->GetStreamId();
     const std::string& trackId = removedTrack->GetTrackId();
 
+    if (removedTrack->GetMediaType() == SdpMediaSection::kApplication) {
+      // TODO do we need to notify content somehow here?
+      continue;
+    }
+
     RefPtr<RemoteSourceStreamInfo> info = mMedia->GetRemoteStreamById(streamId);
     if (!info) {
       MOZ_ASSERT(false, "A stream/track was removed that wasn't in PCMedia. "
                         "This is a bug.");
       continue;
     }
 
     mMedia->RemoveRemoteTrack(streamId, trackId);