diff options
author | Andreas Huber <andih@google.com> | 2010-02-10 15:04:31 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-02-10 15:04:31 -0800 |
commit | b45c62c8e9b05c2703bdae18cc298ae55550db8a (patch) | |
tree | f5df3f64485d2fc0876ad4d0b583ace386385309 | |
parent | cb5b4896ebc1ee36b254866f6c9a3f376d68d0ac (diff) | |
download | frameworks_av-b45c62c8e9b05c2703bdae18cc298ae55550db8a.zip frameworks_av-b45c62c8e9b05c2703bdae18cc298ae55550db8a.tar.gz frameworks_av-b45c62c8e9b05c2703bdae18cc298ae55550db8a.tar.bz2 |
Fixing AMR recording code.
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 5 | ||||
-rw-r--r-- | media/libstagefright/AMRWriter.cpp | 9 |
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); |