Bug 1359058: P1. handle EOS during seeking. r=jya draft
authorJW Wang <jwwang@mozilla.com>
Wed, 26 Apr 2017 11:32:50 +0800
changeset 585160 40b3ad18e3414d5e954ea1136f1962ed3f7aed3d
parent 585159 7c79447d7db7932606f8204c4aaba9872306f63c
child 585161 947858eaa56ae76bc786fd44da444cd99261b7e7
push id61027
push userbmo:jyavenard@mozilla.com
push dateFri, 26 May 2017 16:19:42 +0000
reviewersjya
bugs1359058
milestone55.0a1
Bug 1359058: P1. handle EOS during seeking. r=jya MozReview-Commit-ID: DPT3t1pi6o1
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -1301,16 +1301,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);