Bug 1258410: [MSE] P1. Abort if mInputDemuxer has been reset. r=gerald draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Wed, 23 Mar 2016 13:44:00 +1100
changeset 343786 3cfa24b49225ca052d1910bb7f35eb238cc10aec
parent 343645 3381aa98edf72e02b9d6b4db6efa0865063a2329
child 343787 090e8e7c1b17e0e27ea218523f1e6bff93891d05
child 343788 59cd62da6cebb72c4b4d87eec829d9d5cd13989a
push id13687
push userbmo:jyavenard@mozilla.com
push dateWed, 23 Mar 2016 08:28:58 +0000
reviewersgerald
bugs1258410
milestone48.0a1
Bug 1258410: [MSE] P1. Abort if mInputDemuxer has been reset. r=gerald MozReview-Commit-ID: 3irSFFSnXFp
dom/media/mediasource/TrackBuffersManager.cpp
--- a/dom/media/mediasource/TrackBuffersManager.cpp
+++ b/dom/media/mediasource/TrackBuffersManager.cpp
@@ -860,19 +860,22 @@ TrackBuffersManager::InitializationSegme
 }
 
 void
 TrackBuffersManager::OnDemuxerInitDone(nsresult)
 {
   MOZ_ASSERT(OnTaskQueue());
   mDemuxerInitRequest.Complete();
 
-  // mInputDemuxer shouldn't have been destroyed while a demuxer init/reset
-  // request was being processed. See bug 1239983.
-  MOZ_DIAGNOSTIC_ASSERT(mInputDemuxer);
+  if (!mInputDemuxer) {
+    // mInputDemuxer shouldn't have been destroyed while a demuxer init/reset
+    // request was being processed. See bug 1239983.
+    NS_WARNING("mInputDemuxer has been destroyed");
+    RejectAppend(NS_ERROR_ABORT, __func__);
+  }
 
   MediaInfo info;
 
   uint32_t numVideos = mInputDemuxer->GetNumberTracks(TrackInfo::kVideoTrack);
   if (numVideos) {
     // We currently only handle the first video track.
     mVideoTracks.mDemuxer = mInputDemuxer->GetTrackDemuxer(TrackInfo::kVideoTrack, 0);
     MOZ_ASSERT(mVideoTracks.mDemuxer);