summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/StagefrightRecorder.cpp
diff options
context:
space:
mode:
authorDave Burke <daveburke@google.com>2012-04-19 00:14:27 -0700
committerDave Burke <daveburke@google.com>2012-04-25 22:02:58 -0700
commitaeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b (patch)
treef8b459d895acef1717c96cb7133675dda3e458b7 /media/libmediaplayerservice/StagefrightRecorder.cpp
parente0fa467e1150c65a7b1b1ed904c579b40f97c9df (diff)
downloadframeworks_av-aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b.zip
frameworks_av-aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b.tar.gz
frameworks_av-aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b.tar.bz2
Add Fraunhofer AAC encoder with AAC-ELD support.
Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
Diffstat (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp')
-rw-r--r--media/libmediaplayerservice/StagefrightRecorder.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 2c5644f..b676cc7 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -24,6 +24,7 @@
#include <binder/IServiceManager.h>
#include <media/IMediaPlayerService.h>
+#include <media/openmax/OMX_Audio.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/AudioSource.h>
#include <media/stagefright/AMRWriter.h>
@@ -817,6 +818,11 @@ sp<MediaSource> StagefrightRecorder::createAudioSource() {
break;
case AUDIO_ENCODER_AAC:
mime = MEDIA_MIMETYPE_AUDIO_AAC;
+ encMeta->setInt32(kKeyAACProfile, OMX_AUDIO_AACObjectLC);
+ break;
+ case AUDIO_ENCODER_AAC_ELD:
+ mime = MEDIA_MIMETYPE_AUDIO_AAC;
+ encMeta->setInt32(kKeyAACProfile, OMX_AUDIO_AACObjectELD);
break;
default:
ALOGE("Unknown audio encoder: %d", mAudioEncoder);
@@ -852,7 +858,8 @@ status_t StagefrightRecorder::startAACRecording() {
// Add support for OUTPUT_FORMAT_AAC_ADIF
CHECK_EQ(mOutputFormat, OUTPUT_FORMAT_AAC_ADTS);
- CHECK_EQ(mAudioEncoder, AUDIO_ENCODER_AAC);
+ CHECK(mAudioEncoder == AUDIO_ENCODER_AAC ||
+ mAudioEncoder == AUDIO_ENCODER_AAC_ELD);
CHECK(mAudioSource != AUDIO_SOURCE_CNT);
mWriter = new AACWriter(mOutputFd);
@@ -1435,6 +1442,7 @@ status_t StagefrightRecorder::setupAudioEncoder(const sp<MediaWriter>& writer) {
case AUDIO_ENCODER_AMR_NB:
case AUDIO_ENCODER_AMR_WB:
case AUDIO_ENCODER_AAC:
+ case AUDIO_ENCODER_AAC_ELD:
break;
default: