summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libmediaplayerservice/StagefrightRecorder.cpp5
-rw-r--r--media/libstagefright/AMRWriter.cpp9
2 files changed, 11 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 6383f0c..1a8109c 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -185,6 +185,11 @@ sp<MediaSource> StagefrightRecorder::createAMRAudioSource() {
mAudioEncoder == AUDIO_ENCODER_AMR_NB
? MEDIA_MIMETYPE_AUDIO_AMR_NB : MEDIA_MIMETYPE_AUDIO_AMR_WB);
+ int32_t maxInputSize;
+ CHECK(audioSource->getFormat()->findInt32(
+ kKeyMaxInputSize, &maxInputSize));
+
+ encMeta->setInt32(kKeyMaxInputSize, maxInputSize);
encMeta->setInt32(kKeyChannelCount, 1);
encMeta->setInt32(kKeySampleRate, sampleRate);
diff --git a/media/libstagefright/AMRWriter.cpp b/media/libstagefright/AMRWriter.cpp
index caff452..bf4424b 100644
--- a/media/libstagefright/AMRWriter.cpp
+++ b/media/libstagefright/AMRWriter.cpp
@@ -173,12 +173,15 @@ void AMRWriter::threadFunc() {
buffer->range_length(),
mFile);
- buffer->release();
- buffer = NULL;
-
if (n < (ssize_t)buffer->range_length()) {
+ buffer->release();
+ buffer = NULL;
+
break;
}
+
+ buffer->release();
+ buffer = NULL;
}
Mutex::Autolock autoLock(mLock);