OSDN Git Service

SoftAAC2: allow reconfiguring output after multiple output buffers
authorRobert Shih <robertshih@google.com>
Thu, 21 Aug 2014 01:17:03 +0000 (18:17 -0700)
committerLajos Molnar <lajos@google.com>
Fri, 22 Aug 2014 17:23:45 +0000 (10:23 -0700)
Bug: 17134697
Change-Id: Iaa8bdccbf1a8ccd3f898e48cfd22a0a443710fdd

media/libstagefright/codecs/aacdec/SoftAAC2.cpp

index 09c6e69..b032f9c 100644 (file)
@@ -720,16 +720,7 @@ void SoftAAC2::onQueueFilled(OMX_U32 portIndex) {
                  * Thus, we could not say for sure whether a stream is
                  * AAC+/eAAC+ until the first data frame is decoded.
                  */
-                if (mOutputBufferCount > 1) {
-                    if (mStreamInfo->sampleRate != prevSampleRate ||
-                        mStreamInfo->numChannels != prevNumChannels) {
-                        ALOGE("can not reconfigure AAC output");
-                        mSignalledError = true;
-                        notify(OMX_EventError, OMX_ErrorUndefined, decoderErr, NULL);
-                        return;
-                    }
-                }
-                if (mInputBufferCount <= 2) { // TODO: <= 1
+                if (mInputBufferCount <= 2 || mOutputBufferCount > 1) { // TODO: <= 1
                     if (mStreamInfo->sampleRate != prevSampleRate ||
                         mStreamInfo->numChannels != prevNumChannels) {
                         ALOGI("Reconfiguring decoder: %d->%d Hz, %d->%d channels",