summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-09-17 11:16:52 -0700
committerAndreas Huber <andih@google.com>2009-09-17 11:16:52 -0700
commit5228dd1b7468bfc86a807a299f515d33048f96ac (patch)
treef99062b9e6f0200a7e88a4a95f688018655455c3 /media/libstagefright/OMXCodec.cpp
parent56a9496a8f4adf3bf27448e1f41757af513c2a40 (diff)
downloadframeworks_av-5228dd1b7468bfc86a807a299f515d33048f96ac.zip
frameworks_av-5228dd1b7468bfc86a807a299f515d33048f96ac.tar.gz
frameworks_av-5228dd1b7468bfc86a807a299f515d33048f96ac.tar.bz2
Another stagefright test-case and ignore end-of-stream notifications while we're flushing.
Diffstat (limited to 'media/libstagefright/OMXCodec.cpp')
-rw-r--r--media/libstagefright/OMXCodec.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index ba4c4c7..c4c6149 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -1148,6 +1148,13 @@ void OMXCodec::onCmdComplete(OMX_COMMANDTYPE cmd, OMX_U32 data) {
CODEC_LOGV("Finished flushing both ports, now continuing from"
" seek-time.");
+ // Clear this flag in case the decoder sent us either
+ // the EVENT_BUFFER_FLAG(1) or an output buffer with
+ // the EOS flag set _while_ flushing. Since we're going
+ // to submit "fresh" input data now, this flag no longer
+ // applies to our future.
+ mNoMoreOutputData = false;
+
drainInputBuffers();
fillOutputBuffers();
}