Bug 1359058 - handle EOS during seeking. r?jya draft
authorJW Wang <jwwang@mozilla.com>
Wed, 26 Apr 2017 11:32:50 +0800
changeset 568381 156a728a4ae3fb32663fdf74cdcaf9d092706d2a
parent 568380 86da182d4b06bd164ead844b164e602b58b93ffa
child 625907 7dcfb0709fed9b7554604602125ebc5c5eba3864
push id55850
push userjwwang@mozilla.com
push dateWed, 26 Apr 2017 03:40:31 +0000
reviewersjya
bugs1359058
milestone55.0a1
Bug 1359058 - handle EOS during seeking. r?jya MozReview-Commit-ID: DPT3t1pi6o1
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -1288,16 +1288,22 @@ private:
                  SLOG("OnSeekRejected wait promise rejected");
                  mWaitRequest.Complete();
                  mMaster->DecodeError(NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA);
                })
         ->Track(mWaitRequest);
       return;
     }
 
+    if (aReject.mError == NS_ERROR_DOM_MEDIA_END_OF_STREAM) {
+      HandleEndOfAudio();
+      HandleEndOfVideo();
+      return;
+    }
+
     MOZ_ASSERT(NS_FAILED(aReject.mError),
                "Cancels should also disconnect mSeekRequest");
     mMaster->DecodeError(aReject.mError);
   }
 
   void RequestAudioData()
   {
     MOZ_ASSERT(!mDoneAudioSeeking);