From 61f6cfa961d22a9a54d91366fefec135f091012d Mon Sep 17 00:00:00 2001 From: Mingming Yin Date: Fri, 14 Aug 2015 10:43:05 -0700 Subject: audio: add support for extended audio encoding - add support for EVRC, QCELP, and LPCM encoding. Change-Id: I2f93a88ed5c9bd502399ef145a5802d1a15fcc45 --- .../libmediaplayerservice/StagefrightRecorder.cpp | 24 ++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp') diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 3b4d0eb..d64f814 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -821,8 +821,10 @@ status_t StagefrightRecorder::prepareInternal() { break; default: - ALOGE("Unsupported output file format: %d", mOutputFormat); - status = UNKNOWN_ERROR; + if (handleCustomRecording() != OK) { + ALOGE("Unsupported output file format: %d", mOutputFormat); + status = UNKNOWN_ERROR; + } break; } @@ -886,8 +888,10 @@ status_t StagefrightRecorder::start() { default: { - ALOGE("Unsupported output file format: %d", mOutputFormat); - status = UNKNOWN_ERROR; + if (handleCustomOutputFormats() != OK) { + ALOGE("Unsupported output file format: %d", mOutputFormat); + status = UNKNOWN_ERROR; + } break; } } @@ -972,8 +976,10 @@ sp StagefrightRecorder::createAudioSource() { break; default: - ALOGE("Unknown audio encoder: %d", mAudioEncoder); - return NULL; + if (handleCustomAudioSource(format) != OK) { + ALOGE("Unknown audio encoder: %d", mAudioEncoder); + return NULL; + } } int32_t maxInputSize; @@ -1638,8 +1644,10 @@ status_t StagefrightRecorder::setupAudioEncoder(const sp& writer) { break; default: - ALOGE("Unsupported audio encoder: %d", mAudioEncoder); - return UNKNOWN_ERROR; + if (handleCustomAudioEncoder() != OK) { + ALOGE("Unsupported audio encoder: %d", mAudioEncoder); + return UNKNOWN_ERROR; + } } sp audioEncoder = createAudioSource(); -- cgit v1.1