summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-02-10 15:16:09 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-02-10 15:16:09 -0800
commit2f5b04733badcb8bd5131aef9d99c9a9e84a3a21 (patch)
tree1ac9fb72c4a726409be304dd6e7a2f023afab733
parent6708918f4f28c1bf6284cfb70724bcef4d67db68 (diff)
parentb45c62c8e9b05c2703bdae18cc298ae55550db8a (diff)
downloadframeworks_av-2f5b04733badcb8bd5131aef9d99c9a9e84a3a21.zip
frameworks_av-2f5b04733badcb8bd5131aef9d99c9a9e84a3a21.tar.gz
frameworks_av-2f5b04733badcb8bd5131aef9d99c9a9e84a3a21.tar.bz2
Merge "Fixing AMR recording code."
-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);