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

Commit 2d3ad408 authored by Ronghua Wu's avatar Ronghua Wu
Browse files

SoftVPXEncoder: don't skip the last input buffer with eos flag.

Bug: 20507129
Change-Id: I4016727cbae54e2d29c3c6ab5cd8c47826070bf4
parent dae24729
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -661,7 +661,8 @@ void SoftVPXEncoder::onQueueFilled(OMX_U32 /* portIndex */) {
        BufferInfo *outputBufferInfo = *outputBufferInfoQueue.begin();
        OMX_BUFFERHEADERTYPE *outputBufferHeader = outputBufferInfo->mHeader;

        if (inputBufferHeader->nFlags & OMX_BUFFERFLAG_EOS) {
        if ((inputBufferHeader->nFlags & OMX_BUFFERFLAG_EOS) &&
                inputBufferHeader->nFilledLen == 0) {
            inputBufferInfoQueue.erase(inputBufferInfoQueue.begin());
            inputBufferInfo->mOwnedByUs = false;
            notifyEmptyBufferDone(inputBufferHeader);
@@ -762,6 +763,9 @@ void SoftVPXEncoder::onQueueFilled(OMX_U32 /* portIndex */) {
                       encoded_packet->data.frame.sz);
                outputBufferInfo->mOwnedByUs = false;
                outputBufferInfoQueue.erase(outputBufferInfoQueue.begin());
                if (inputBufferHeader->nFlags & OMX_BUFFERFLAG_EOS) {
                    outputBufferHeader->nFlags |= OMX_BUFFERFLAG_EOS;
                }
                notifyFillBufferDone(outputBufferHeader);
            }
        }