Bug 1293927: Always use MediaSource seekable range regardless of readyState. r?jwwang draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Wed, 10 Aug 2016 14:14:37 +1000
changeset 398981 68ea8e5784b44beab867f9feba11125b386f89b1
parent 398980 e43df1921b2dec90e0387843311add1aa228969e
child 398982 a9b4cd9b27d77e6f0174332b5d3cfb5ba3aaca1b
push id25695
push userbmo:jyavenard@mozilla.com
push dateWed, 10 Aug 2016 06:24:50 +0000
reviewersjwwang
bugs1293927
milestone51.0a1
Bug 1293927: Always use MediaSource seekable range regardless of readyState. r?jwwang MozReview-Commit-ID: 7ae467k5PSf
dom/html/HTMLMediaElement.cpp
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -1872,17 +1872,18 @@ NS_IMETHODIMP HTMLMediaElement::GetDurat
   *aDuration = Duration();
   return NS_OK;
 }
 
 already_AddRefed<TimeRanges>
 HTMLMediaElement::Seekable() const
 {
   RefPtr<TimeRanges> ranges = new TimeRanges(ToSupports(OwnerDoc()));
-  if (mDecoder && mReadyState > nsIDOMHTMLMediaElement::HAVE_NOTHING) {
+  if (mMediaSource ||
+      (mDecoder && mReadyState > nsIDOMHTMLMediaElement::HAVE_NOTHING)) {
     mDecoder->GetSeekable().ToTimeRanges(ranges);
   }
   return ranges.forget();
 }
 
 NS_IMETHODIMP HTMLMediaElement::GetSeekable(nsIDOMTimeRanges** aSeekable)
 {
   RefPtr<TimeRanges> ranges = Seekable();