Bug 1258410: [MSE] P1. Abort if mInputDemuxer has been reset. r=gerald
MozReview-Commit-ID: 3irSFFSnXFp
--- 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);