From 6a399a153e98d86a58cd09c4e2ac9ce3e7a7dfbc Mon Sep 17 00:00:00 2001 From: Praveen Chavan Date: Mon, 16 Mar 2015 09:32:29 -0700 Subject: StagefrightRecorder: force 64-bit file-offsets for files > 4GB Enable recording files larger than 4GB by forcing 64-bit file-offsets in the writer, if application indicates max-file-size greater than 4GB. Change-Id: Id1af5bdf3543af156e6d3d80be2e00c7df3b4134 CRs-Fixed: 807377 --- media/libmediaplayerservice/StagefrightRecorder.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp') diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 9e7879a..872292b 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -59,6 +59,8 @@ namespace android { +static const int64_t kMax32BitFileSize = 0x00ffffffffLL; // 4GB + // To collect the encoder usage for the battery app static void addBatteryData(uint32_t params) { sp binder = @@ -453,6 +455,10 @@ status_t StagefrightRecorder::setParamMaxFileSizeBytes(int64_t bytes) { } mMaxFileSizeBytes = bytes; + + // If requested size is >4GB, force 64-bit offsets + mUse64BitFileOffset |= (bytes >= kMax32BitFileSize); + return OK; } -- cgit v1.1