Bug 1298217. Part 9 - Assert |mState == DECODER_STATE_DECODING| in MaybeStartBuffering() which is only called in the DECODER_STATE_DECODING case of RunStateMachine(). draft
authorJW Wang <jwwang@mozilla.com>
Fri, 26 Aug 2016 06:31:57 +1200
changeset 406602 daf935dd80cfdbe95cd18cfb3d402c62d695a701
parent 406601 7b6afa7870103e2a2b47132edc363b1e465a7ba4
child 406603 52a67e88e9f6c10ae3201439de9a078f485e0edf
push id27772
push userjwwang@mozilla.com
push dateMon, 29 Aug 2016 06:35:00 +0000
bugs1298217
milestone51.0a1
Bug 1298217. Part 9 - Assert |mState == DECODER_STATE_DECODING| in MaybeStartBuffering() which is only called in the DECODER_STATE_DECODING case of RunStateMachine(). MozReview-Commit-ID: KLz8CpxDz71
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -973,19 +973,19 @@ void MediaDecoderStateMachine::MaybeStar
 
   DispatchDecodeTasksIfNeeded();
 }
 
 void
 MediaDecoderStateMachine::MaybeStartBuffering()
 {
   MOZ_ASSERT(OnTaskQueue());
-
-  if (mState == DECODER_STATE_DECODING &&
-      mPlayState == MediaDecoder::PLAY_STATE_PLAYING &&
+  MOZ_ASSERT(mState == DECODER_STATE_DECODING);
+
+  if (mPlayState == MediaDecoder::PLAY_STATE_PLAYING &&
       mResource->IsExpectingMoreData()) {
     bool shouldBuffer;
     if (mReader->UseBufferingHeuristics()) {
       shouldBuffer = HasLowDecodedData(EXHAUSTED_DATA_MARGIN_USECS) &&
                      (JustExitedQuickBuffering() || HasLowUndecodedData());
     } else {
       MOZ_ASSERT(mReader->IsWaitForDataSupported());
       shouldBuffer = (OutOfDecodedAudio() && mReader->IsWaitingAudioData()) ||