diff options
author | Ronghua Wu <ronghuawu@google.com> | 2015-05-04 15:49:30 -0700 |
---|---|---|
committer | Ronghua Wu <ronghuawu@google.com> | 2015-05-04 16:53:14 -0700 |
commit | 2d3ad4087c2231542f07854d3b9ff5b4cae9fd69 (patch) | |
tree | ffb8c341932bdebee48cf8e3f10957f997ec5865 /media/libstagefright/codecs/on2 | |
parent | dae24729d0b3ced8c4a7d7f9b631e852f564db4f (diff) | |
download | frameworks_av-2d3ad4087c2231542f07854d3b9ff5b4cae9fd69.zip frameworks_av-2d3ad4087c2231542f07854d3b9ff5b4cae9fd69.tar.gz frameworks_av-2d3ad4087c2231542f07854d3b9ff5b4cae9fd69.tar.bz2 |
SoftVPXEncoder: don't skip the last input buffer with eos flag.
Bug: 20507129
Change-Id: I4016727cbae54e2d29c3c6ab5cd8c47826070bf4
Diffstat (limited to 'media/libstagefright/codecs/on2')
-rw-r--r-- | media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp b/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp index 970acf3..e654843 100644 --- a/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp +++ b/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp @@ -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); } } |