Bug 1308147. Part 5 - reject mPendingSeek in DormantState::Exit(). draft
authorJW Wang <jwwang@mozilla.com>
Wed, 19 Oct 2016 18:12:06 +0800
changeset 428544 1a29b84bc0c72e470d8bae8acf5144bc9dea395b
parent 428543 e0a3f4a5ec1d3fabf5478c42106961233f43629b
child 428545 6ceeea177d74ac1143912c60b1e64047d957db57
push id33335
push userjwwang@mozilla.com
push dateMon, 24 Oct 2016 07:05:42 +0000
bugs1308147
milestone52.0a1
Bug 1308147. Part 5 - reject mPendingSeek in DormantState::Exit(). MozReview-Commit-ID: HfQCWBNtUwZ
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -439,18 +439,19 @@ public:
       mMaster->StopPlayback();
     }
     mMaster->Reset();
     mMaster->mReader->ReleaseResources();
   }
 
   void Exit() override
   {
-    // Transfer the seek job so it is available to the next state.
-    mMaster->mQueuedSeek = Move(mPendingSeek);
+    // mPendingSeek is either moved in HandleDormant() or should be rejected
+    // here before transition to SHUTDOWN.
+    mPendingSeek.RejectIfExists(__func__);
   }
 
   State GetState() const override
   {
     return DECODER_STATE_DORMANT;
   }
 
   bool HandleDormant(bool aDormant) override;