Bug 1235301 part 0 - fix SeekTask; r=jwwang draft
authorKaku Kuo <tkuo@mozilla.com>
Fri, 29 Apr 2016 10:47:11 +0800
changeset 372165 7c49031aec07f8a04a83783091d1e93cd0767075
parent 371902 4d63dde701b47b8661ab7990f197b6b60e543839
child 372166 74fe1a49abb17a9b8129330bcb70181520146140
push id19455
push usertkuo@mozilla.com
push dateFri, 27 May 2016 16:28:45 +0000
reviewersjwwang
bugs1235301
milestone49.0a1
Bug 1235301 part 0 - fix SeekTask; r=jwwang MozReview-Commit-ID: L8DOsArR0b2
dom/media/SeekTask.cpp
--- a/dom/media/SeekTask.cpp
+++ b/dom/media/SeekTask.cpp
@@ -172,17 +172,20 @@ SeekJob&
 SeekTask::GetSeekJob()
 {
   return mSeekJob;
 }
 
 bool
 SeekTask::Exists() const
 {
-  return mSeekJob.Exists();
+  // mSeekTaskPromise communicates SeekTask and MDSM;
+  // mSeekJob communicates MDSM and MediaDecoder;
+  // Either one exists means the current seek task has yet finished.
+  return !mSeekTaskPromise.IsEmpty() || mSeekJob.Exists();
 }
 
 RefPtr<SeekTask::SeekTaskPromise>
 SeekTask::Seek(const media::TimeUnit& aDuration)
 {
   AssertOwnerThread();
 
   // Do the seek.