SoftAVCEnc: encode EOS frame is size is non-zero
bug: 20947883
bug: 20507129
Change-Id: I557584e8566b8529329f35e0949cb3ee24965ff4
diff --git a/media/libstagefright/codecs/avcenc/SoftAVCEnc.cpp b/media/libstagefright/codecs/avcenc/SoftAVCEnc.cpp
index 6afac74..449d195 100755
--- a/media/libstagefright/codecs/avcenc/SoftAVCEnc.cpp
+++ b/media/libstagefright/codecs/avcenc/SoftAVCEnc.cpp
@@ -1188,7 +1188,10 @@
BufferInfo *outputBufferInfo = *outQueue.begin();
OMX_BUFFERHEADERTYPE *outputBufferHeader = outputBufferInfo->mHeader;
- if (inputBufferHeader->nFlags & OMX_BUFFERFLAG_EOS) {
+ if (inputBufferHeader->nFlags & OMX_BUFFERFLAG_EOS &&
+ inputBufferHeader->nFilledLen == 0) {
+ mSawInputEOS = true;
+
inQueue.erase(inQueue.begin());
inputBufferInfo->mOwnedByUs = false;
notifyEmptyBufferDone(inputBufferHeader);