Bug 1314526. Part 1 - fix HandleCDMProxyReady(). draft
authorJW Wang <jwwang@mozilla.com>
Fri, 28 Oct 2016 16:25:44 +0800
changeset 433070 b63e26cf701d74d7123243f7ac874cc1554aec5b
parent 433069 92fe905c9988b3e6a533f26b9caadc89580f794b
child 433071 c7fa3ce4771da0f8c7299f9f06136db5531bef13
push id34475
push userjwwang@mozilla.com
push dateThu, 03 Nov 2016 03:28:38 +0000
bugs1314526
milestone52.0a1
Bug 1314526. Part 1 - fix HandleCDMProxyReady(). MozReview-Commit-ID: 9PyeBUXadud
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -188,18 +188,17 @@ class MediaDecoderStateMachine::StateObj
 {
 public:
   virtual ~StateObject() {}
   virtual void Exit() {};  // Exit action.
   virtual void Step() {}   // Perform a 'cycle' of this state object.
   virtual State GetState() const = 0;
 
   // Event handlers for various events.
-  // Return true if the event is handled by this state object.
-  virtual bool HandleCDMProxyReady() { return false; }
+  virtual void HandleCDMProxyReady() {}
 
   virtual bool HandleAudioDecoded(MediaData* aAudio) { return false; }
 
   virtual bool HandleVideoDecoded(MediaData* aVideo, TimeStamp aDecodeStart)
   {
     return false;
   }
 
@@ -369,17 +368,17 @@ public:
     mPendingSeek.RejectIfExists(__func__);
   }
 
   State GetState() const override
   {
     return DECODER_STATE_WAIT_FOR_CDM;
   }
 
-  bool HandleCDMProxyReady() override;
+  void HandleCDMProxyReady() override;
 
   RefPtr<MediaDecoder::SeekPromise> HandleSeek(SeekTarget aTarget) override
   {
     SLOG("Not Enough Data to seek at this stage, queuing seek");
     mPendingSeek.RejectIfExists(__func__);
     mPendingSeek.mTarget = aTarget;
     return mPendingSeek.mPromise.Ensure(__func__);
   }
@@ -1312,22 +1311,21 @@ DormantState::HandlePlayStateChanged(Med
 {
   if (aPlayState == MediaDecoder::PLAY_STATE_PLAYING) {
     // Exit dormant when the user wants to play.
     MOZ_ASSERT(!Info().IsEncrypted() || mMaster->mCDMProxy);
     SetState<DecodingFirstFrameState>(Move(mPendingSeek));
   }
 }
 
-bool
+void
 MediaDecoderStateMachine::
 WaitForCDMState::HandleCDMProxyReady()
 {
   SetState<DecodingFirstFrameState>(Move(mPendingSeek));
-  return true;
 }
 
 void
 MediaDecoderStateMachine::
 DecodingFirstFrameState::Enter(SeekJob aPendingSeek)
 {
   // Handle pending seek.
   if (aPendingSeek.Exists() &&