From d477b8d071826c0768620f7ac302f31d8b12b1ca Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Thu, 28 Mar 2013 11:16:43 -0700 Subject: Make sure resume() and flush() are handled appropriately even if the codec is in Idle->Executing state. Change-Id: I16a10791fae0e062a19299732c472cc93e4ed971 related-to-bug: 8347958 --- media/libstagefright/ACodec.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'media') diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 1a2eeb1..c9f8741 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -3461,6 +3461,22 @@ bool ACodec::IdleToExecutingState::onMessageReceived(const sp &msg) { return true; } + case kWhatResume: + { + // We'll be active soon enough. + return true; + } + + case kWhatFlush: + { + // We haven't even started yet, so we're flushed alright... + sp notify = mCodec->mNotify->dup(); + notify->setInt32("what", ACodec::kWhatFlushCompleted); + notify->post(); + + return true; + } + case kWhatSignalEndOfInputStream: { mCodec->onSignalEndOfInputStream(); -- cgit v1.1