Bug 1368837 - MockMediaResource should fread individual bytes - r=cpearce draft
authorGerald Squelart <gsquelart@mozilla.com>
Fri, 26 May 2017 15:15:14 +1200
changeset 587480 b768370a1e5c32eea947cc427c047961349541ee
parent 587479 c47454bddce37e09e0f598c891e1332ef33103cb
child 587481 2032c9bea9667127fd013b05cdf318a891ea3dbf
push id61722
push usergsquelart@mozilla.com
push dateThu, 01 Jun 2017 04:10:47 +0000
reviewerscpearce
bugs1368837
milestone55.0a1
Bug 1368837 - MockMediaResource should fread individual bytes - r=cpearce `fread(buf, count, 1, f)` meant that exactly one object of size `count` could be read. Changing that to `fread(buf, 1, count, f)` now reads up to `count` size-1 objects (aka bytes) up to `count` and returns that number of bytes read, which is usually what we want from a read, i.e. as much as possible even if it's less than requested. MozReview-Commit-ID: 3Lgvws19SFd
dom/media/gtest/MockMediaResource.cpp
--- a/dom/media/gtest/MockMediaResource.cpp
+++ b/dom/media/gtest/MockMediaResource.cpp
@@ -46,18 +46,17 @@ MockMediaResource::ReadAt(int64_t aOffse
 
   // Make it fail if we're re-entrant
   if (mEntry++) {
     MOZ_ASSERT(false);
     return NS_ERROR_FAILURE;
   }
 
   fseek(mFileHandle, aOffset, SEEK_SET);
-  size_t objectsRead = fread(aBuffer, aCount, 1, mFileHandle);
-  *aBytes = objectsRead == 1 ? aCount : 0;
+  *aBytes = fread(aBuffer, 1, aCount, mFileHandle);
 
   mEntry--;
 
   return ferror(mFileHandle) ? NS_ERROR_FAILURE : NS_OK;
 }
 
 int64_t
 MockMediaResource::GetLength()