diff options
author | Martin Storsjo <martin@martin.st> | 2012-08-29 15:22:18 +0300 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2012-08-29 15:40:14 +0300 |
commit | e61f13d2c710918f5267b3c835fcc20447b4e4d6 (patch) | |
tree | d824b4000e4e12bd596975441d7c74af60b3357e /media | |
parent | 4b60ac04a878eaf8344b56189509ccd6925855c2 (diff) | |
download | frameworks_av-e61f13d2c710918f5267b3c835fcc20447b4e4d6.zip frameworks_av-e61f13d2c710918f5267b3c835fcc20447b4e4d6.tar.gz frameworks_av-e61f13d2c710918f5267b3c835fcc20447b4e4d6.tar.bz2 |
avcenc: Don't erase the InputBufferInfo before reading info from it
Previously, the timestamp and flags were read from the InputBufferInfo
struct after it had been erased.
This fixes cases where the output timestamp from the avc encoder
could spuriously be garbage every now and then.
Change-Id: I21acf23cfac93bcc201a603feace6499ec6d8e76
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp b/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp index 259562b..e46463c 100644 --- a/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp +++ b/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp @@ -846,12 +846,12 @@ void SoftAVCEncoder::onQueueFilled(OMX_U32 portIndex) { outQueue.erase(outQueue.begin()); CHECK(!mInputBufferInfoVec.empty()); InputBufferInfo *inputBufInfo = mInputBufferInfoVec.begin(); - mInputBufferInfoVec.erase(mInputBufferInfoVec.begin()); outHeader->nTimeStamp = inputBufInfo->mTimeUs; outHeader->nFlags |= (inputBufInfo->mFlags | OMX_BUFFERFLAG_ENDOFFRAME); outHeader->nFilledLen = dataLength; outInfo->mOwnedByUs = false; notifyFillBufferDone(outHeader); + mInputBufferInfoVec.erase(mInputBufferInfoVec.begin()); } } |