Bug 1325905. Part 6 - let DecodingFirstFrameState::Enter() call Request{Audio,Video} instead. draft
authorJW Wang <jwwang@mozilla.com>
Thu, 22 Dec 2016 04:32:47 +0800
changeset 454470 d453051ec55dbef1325de05658043a8afc849a55
parent 454469 dcf003553f40620139b37c799b2674f551bd546f
child 454471 ef10f959209a2b8e6ee618ae9b434ee5c9cbea3d
push id39938
push userjwwang@mozilla.com
push dateThu, 29 Dec 2016 11:35:09 +0000
bugs1325905
milestone53.0a1
Bug 1325905. Part 6 - let DecodingFirstFrameState::Enter() call Request{Audio,Video} instead. MozReview-Commit-ID: AH1F9hMJorM
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -1902,17 +1902,22 @@ DecodingFirstFrameState::Enter()
   if (mMaster->mSentFirstFrameLoadedEvent) {
     SetState<DecodingState>();
     return;
   }
 
   MOZ_ASSERT(!mMaster->mVideoDecodeSuspended);
 
   // Dispatch tasks to decode first frames.
-  mMaster->DispatchDecodeTasksIfNeeded();
+  if (mMaster->HasAudio()) {
+    mMaster->RequestAudioData();
+  }
+  if (mMaster->HasVideo()) {
+    mMaster->RequestVideoData(false, media::TimeUnit());
+  }
 }
 
 void
 MediaDecoderStateMachine::
 DecodingFirstFrameState::HandleAudioNotDecoded(const MediaResult& aError)
 {
   switch (aError.Code()) {
     case NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA: