diff options
author | Marco Nelissen <marcone@google.com> | 2016-03-25 08:26:18 -0700 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2016-03-25 17:46:46 -0700 |
commit | daa85dac2055b22dabbb3b4e537597e6ab73a866 (patch) | |
tree | 073ee24d15c6082d47a3fa9c3b3340ca5f30f5cc /media/libstagefright | |
parent | 65756b4082cd79a2d99b2ccb5b392291fd53703f (diff) | |
download | frameworks_av-daa85dac2055b22dabbb3b4e537597e6ab73a866.zip frameworks_av-daa85dac2055b22dabbb3b4e537597e6ab73a866.tar.gz frameworks_av-daa85dac2055b22dabbb3b4e537597e6ab73a866.tar.bz2 |
Fix AMR decoder
Previous change caused EOS to be ignored.
Bug: 27843673
Related-to-bug: 27662364
Change-Id: Ia148a88abc861a9b393f42bc7cd63d8d3ae349bc
Diffstat (limited to 'media/libstagefright')
-rw-r--r-- | media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp b/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp index 77c3742..955309a 100644 --- a/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp +++ b/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp @@ -286,13 +286,6 @@ void SoftAMR::onQueueFilled(OMX_U32 /* portIndex */) { BufferInfo *inInfo = *inQueue.begin(); OMX_BUFFERHEADERTYPE *inHeader = inInfo->mHeader; - if (inHeader->nFilledLen == 0) { - inInfo->mOwnedByUs = false; - inQueue.erase(inQueue.begin()); - notifyEmptyBufferDone(inHeader); - continue; - } - BufferInfo *outInfo = *outQueue.begin(); OMX_BUFFERHEADERTYPE *outHeader = outInfo->mHeader; @@ -310,6 +303,13 @@ void SoftAMR::onQueueFilled(OMX_U32 /* portIndex */) { return; } + if (inHeader->nFilledLen == 0) { + inInfo->mOwnedByUs = false; + inQueue.erase(inQueue.begin()); + notifyEmptyBufferDone(inHeader); + continue; + } + if (inHeader->nOffset == 0) { mAnchorTimeUs = inHeader->nTimeStamp; mNumSamplesOutput = 0; |