OSDN Git Service

stagefright: process CSD regardless of what port was last queued
authorLajos Molnar <lajos@google.com>
Sat, 23 Aug 2014 06:58:05 +0000 (23:58 -0700)
committerLajos Molnar <lajos@google.com>
Sat, 23 Aug 2014 07:01:32 +0000 (00:01 -0700)
CSD is always on the input port, so it does not matter which port
a buffer was last queued to.
Bug: 17216852

Change-Id: I6d00eb4bf3c2e9b9cc3c9918229de958bc465693

media/libstagefright/codecs/aacdec/SoftAAC2.cpp

index 90df607..8b4dd6f 100644 (file)
@@ -494,7 +494,7 @@ int32_t SoftAAC2::outputDelayRingBufferSamplesLeft() {
 }
 
 
-void SoftAAC2::onQueueFilled(OMX_U32 portIndex) {
+void SoftAAC2::onQueueFilled(OMX_U32 /* portIndex */) {
     if (mSignalledError || mOutputPortSettingsChange != NONE) {
         return;
     }
@@ -513,8 +513,7 @@ void SoftAAC2::onQueueFilled(OMX_U32 portIndex) {
             OMX_BUFFERHEADERTYPE *inHeader = inInfo->mHeader;
 
             mEndOfInput = (inHeader->nFlags & OMX_BUFFERFLAG_EOS) != 0;
-            if (portIndex == 0 &&
-                    (inHeader->nFlags & OMX_BUFFERFLAG_CODECCONFIG) != 0) {
+            if ((inHeader->nFlags & OMX_BUFFERFLAG_CODECCONFIG) != 0) {
                 BufferInfo *inInfo = *inQueue.begin();
                 OMX_BUFFERHEADERTYPE *inHeader = inInfo->mHeader;