summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libmediaplayerservice/StagefrightRecorder.cpp8
-rw-r--r--media/libstagefright/MPEG4Writer.cpp5
2 files changed, 12 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 553648d..3261fe6 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -361,6 +361,9 @@ status_t StagefrightRecorder::setParamMaxFileDurationUs(int64_t timeUs) {
return BAD_VALUE;
}
+ if (timeUs <= 15 * 1000000LL) {
+ LOGW("Target duration (%lld us) too short to be respected", timeUs);
+ }
mMaxFileDurationUs = timeUs;
return OK;
}
@@ -371,6 +374,11 @@ status_t StagefrightRecorder::setParamMaxFileSizeBytes(int64_t bytes) {
LOGE("Max file size is too small: %lld bytes", bytes);
return BAD_VALUE;
}
+
+ if (bytes <= 100 * 1024) {
+ LOGW("Target file size (%lld bytes) is too small to be respected", bytes);
+ }
+
mMaxFileSizeBytes = bytes;
return OK;
}
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index cbb1604..7eb7d46 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -863,7 +863,10 @@ bool MPEG4Writer::exceedsFileSizeLimit() {
nTotalBytesEstimate += (*it)->getEstimatedTrackSizeBytes();
}
- return (nTotalBytesEstimate >= mMaxFileSizeLimitBytes);
+ // Be conservative in the estimate: do not exceed 95% of
+ // the target file limit. For small target file size limit, though,
+ // this will not help.
+ return (nTotalBytesEstimate >= (95 * mMaxFileSizeLimitBytes) / 100);
}
bool MPEG4Writer::exceedsFileDurationLimit() {