Bug 1368837 - BufferMediaResource::GetCachedDataEnd should return aOffset when out of cache - r?cpearce draft
authorGerald Squelart <gsquelart@mozilla.com>
Thu, 01 Jun 2017 11:30:14 +1200
changeset 587477 501905bf2428e4ccd998ef23ac37ef5860c46bcb
parent 587476 2710488da42c555756f97aa1c9f542508d45bcf2
child 587478 e0613fc0d2e833a2527e826cc055a84ffcb2b65b
push id61722
push usergsquelart@mozilla.com
push dateThu, 01 Jun 2017 04:10:47 +0000
reviewerscpearce
bugs1368837
milestone55.0a1
Bug 1368837 - BufferMediaResource::GetCachedDataEnd should return aOffset when out of cache - r?cpearce MozReview-Commit-ID: 6EEXSUxShLp
dom/media/BufferMediaResource.h
--- a/dom/media/BufferMediaResource.h
+++ b/dom/media/BufferMediaResource.h
@@ -70,17 +70,20 @@ private:
   }
   int64_t Tell() override { return mOffset; }
 
   void Pin() override {}
   void Unpin() override {}
   double GetDownloadRate(bool* aIsReliable) override { *aIsReliable = false; return 0.; }
   int64_t GetLength() override { return mLength; }
   int64_t GetNextCachedData(int64_t aOffset) override { return aOffset; }
-  int64_t GetCachedDataEnd(int64_t aOffset) override { return mLength; }
+  int64_t GetCachedDataEnd(int64_t aOffset) override
+  {
+    return std::max(aOffset, int64_t(mLength));
+  }
   bool IsDataCachedToEndOfResource(int64_t aOffset) override { return true; }
   bool IsSuspendedByCache() override { return false; }
   bool IsSuspended() override { return false; }
   nsresult ReadFromCache(char* aBuffer,
                          int64_t aOffset,
                          uint32_t aCount) override
   {
     if (aOffset < 0) {