avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame
Without this, the caller might hang waiting for more output buffers.
Change-Id: Ief6be00b7600be8498a953e8e88f0582ea8fce85
diff --git a/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp b/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
index 259562b..eb55556 100644
--- a/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
+++ b/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
@@ -849,6 +849,9 @@
mInputBufferInfoVec.erase(mInputBufferInfoVec.begin());
outHeader->nTimeStamp = inputBufInfo->mTimeUs;
outHeader->nFlags |= (inputBufInfo->mFlags | OMX_BUFFERFLAG_ENDOFFRAME);
+ if (mSawInputEOS) {
+ outHeader->nFlags |= OMX_BUFFERFLAG_EOS;
+ }
outHeader->nFilledLen = dataLength;
outInfo->mOwnedByUs = false;
notifyFillBufferDone(outHeader);