Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f622e2c7 authored by Rachad's avatar Rachad Committed by Vineeta Srivastava
Browse files

Increased recorded MP4 max file size to 4GB

(more precisely 2^32-1 bytes -- FAT32 max file size)

bug: 11039801
Change-Id: I6169f798c59d123d02d5fd7afa3b9e645ebdb598
(cherry picked from commit 1f1f2b16)
parent a577eefb
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -43,7 +43,9 @@
namespace android {

static const int64_t kMinStreamableFileSizeInBytes = 5 * 1024 * 1024;
static const int64_t kMax32BitFileSize = 0x007fffffffLL;
static const int64_t kMax32BitFileSize = 0x00ffffffffLL; // 2^32-1 : max FAT32
                                                         // filesystem file size
                                                         // used by most SD cards
static const uint8_t kNalUnitTypeSeqParamSet = 0x07;
static const uint8_t kNalUnitTypePicParamSet = 0x08;
static const int64_t kInitialDelayTimeUs     = 700000LL;
@@ -860,11 +862,11 @@ status_t MPEG4Writer::reset() {
    // Fix up the size of the 'mdat' chunk.
    if (mUse32BitOffset) {
        lseek64(mFd, mMdatOffset, SEEK_SET);
        int32_t size = htonl(static_cast<int32_t>(mOffset - mMdatOffset));
        uint32_t size = htonl(static_cast<uint32_t>(mOffset - mMdatOffset));
        ::write(mFd, &size, 4);
    } else {
        lseek64(mFd, mMdatOffset + 8, SEEK_SET);
        int64_t size = mOffset - mMdatOffset;
        uint64_t size = mOffset - mMdatOffset;
        size = hton64(size);
        ::write(mFd, &size, 8);
    }