From e4b81849b82087a6a0e1e20949f5f144653ecc00 Mon Sep 17 00:00:00 2001 From: Jean-Yves Avenard Date: Tue, 22 Mar 2016 10:34:30 +1100 Subject: [PATCH] Bug 1258562: MSE] Abort if MediaSource has been shutdown. r=gerald The assumption was made that this code was never called if MediaSourceDecoder::NextFrameBufferedStatus() had been called before. However, that assumption was incorrect as NextFrameBufferedStatus() is only called if we had determine we had no frame buffered. MozReview-Commit-ID: 1hsEJuInION --HG-- extra : rebase_source : f760ef8df01858c24887ba024c6b350332d2e4dc --- dom/media/mediasource/MediaSourceDecoder.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dom/media/mediasource/MediaSourceDecoder.cpp b/dom/media/mediasource/MediaSourceDecoder.cpp index 3505801c086d..0316846a4749 100644 --- a/dom/media/mediasource/MediaSourceDecoder.cpp +++ b/dom/media/mediasource/MediaSourceDecoder.cpp @@ -277,6 +277,11 @@ bool MediaSourceDecoder::CanPlayThrough() { MOZ_ASSERT(NS_IsMainThread()); + + if (NextFrameBufferedStatus() == MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE) { + return false; + } + if (IsNaN(mMediaSource->Duration())) { // Don't have any data yet. return false;