summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-06-30 09:17:57 -0700
committerAndreas Huber <andih@google.com>2011-06-30 09:34:25 -0700
commite5bf6409774fe73f968b7db215f535b64de66139 (patch)
tree1423ab7e90832989d67dcb15a08e79369c9a38a9 /media
parent9906d2e28146b24fc516bfd2568caeb463944d96 (diff)
downloadframeworks_av-e5bf6409774fe73f968b7db215f535b64de66139.zip
frameworks_av-e5bf6409774fe73f968b7db215f535b64de66139.tar.gz
frameworks_av-e5bf6409774fe73f968b7db215f535b64de66139.tar.bz2
Some (most) OMX decoders do not send a OMX_CmdComplete/Flush OMX_ALL notification
Change-Id: I1bdcc7be5f12dab301891a5f9ee5cc981e09ba82
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/ACodec.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 513eda8..167071a 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -2282,6 +2282,11 @@ bool ACodec::FlushingState::onOMXEvent(
if (data2 == kPortIndexInput || data2 == kPortIndexOutput) {
CHECK(!mFlushComplete[data2]);
mFlushComplete[data2] = true;
+
+ if (mFlushComplete[kPortIndexInput]
+ && mFlushComplete[kPortIndexOutput]) {
+ changeStateIfWeOwnAllBuffers();
+ }
} else {
CHECK_EQ(data2, OMX_ALL);
CHECK(mFlushComplete[kPortIndexInput]);