Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78a6f877 authored by Marco Nelissen's avatar Marco Nelissen Committed by Michael Bestas
Browse files

Fix AMR decoder

Previous change caused EOS to be ignored.

Bug: 27843673
Related-to-bug: 27662364
Change-Id: Ia148a88abc861a9b393f42bc7cd63d8d3ae349bc
(cherry picked from commit d061b5b1)
parent 99939b0b
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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;