summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2016-03-25 08:26:18 -0700
committerThe Android Automerger <android-build@google.com>2016-03-25 17:46:46 -0700
commitdaa85dac2055b22dabbb3b4e537597e6ab73a866 (patch)
tree073ee24d15c6082d47a3fa9c3b3340ca5f30f5cc /media/libstagefright
parent65756b4082cd79a2d99b2ccb5b392291fd53703f (diff)
downloadframeworks_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.cpp14
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;