From 2d1e5d35be5e6d4b55ac8b39fbfcbeb60fcdd084 Mon Sep 17 00:00:00 2001 From: James Dong Date: Mon, 20 Dec 2010 11:39:38 -0800 Subject: Backward-compatibility max file size support, ignoring 0 or negative file size limit bug - 3281011 Change-Id: I2d3ae4565602e2374ca794c5e8d0837ad33cf0e8 --- media/libmediaplayerservice/StagefrightRecorder.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'media/libmediaplayerservice') diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 576b009..d372ee6 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -358,6 +358,8 @@ status_t StagefrightRecorder::setParamVideoRotation(int32_t degrees) { status_t StagefrightRecorder::setParamMaxFileDurationUs(int64_t timeUs) { LOGV("setParamMaxFileDurationUs: %lld us", timeUs); + + // This is meant for backward compatibility for MediaRecorder.java if (timeUs <= 0) { LOGW("Max file duration is not positive: %lld us. Disabling duration limit.", timeUs); timeUs = 0; // Disable the duration limit for zero or negative values. @@ -375,7 +377,13 @@ status_t StagefrightRecorder::setParamMaxFileDurationUs(int64_t timeUs) { status_t StagefrightRecorder::setParamMaxFileSizeBytes(int64_t bytes) { LOGV("setParamMaxFileSizeBytes: %lld bytes", bytes); - if (bytes <= 1024) { // XXX: 1 kB + + // This is meant for backward compatibility for MediaRecorder.java + if (bytes <= 0) { + LOGW("Max file size is not positive: %lld bytes. " + "Disabling file size limit.", bytes); + bytes = 0; // Disable the file size limit for zero or negative values. + } else if (bytes <= 1024) { // XXX: 1 kB LOGE("Max file size is too small: %lld bytes", bytes); return BAD_VALUE; } -- cgit v1.1