summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-09-17 11:49:39 -0700
committerAndreas Huber <andih@google.com>2010-09-17 11:49:39 -0700
commit00998fbb52dfa78ac3a4b3706d64fc612926bfbc (patch)
treeeb71b0b9525def53ea12949f421b68deb440dbb8 /media/libstagefright/OMXCodec.cpp
parent095916d92ea2378aea6fc35e80e368172c02021b (diff)
downloadframeworks_av-00998fbb52dfa78ac3a4b3706d64fc612926bfbc.zip
frameworks_av-00998fbb52dfa78ac3a4b3706d64fc612926bfbc.tar.gz
frameworks_av-00998fbb52dfa78ac3a4b3706d64fc612926bfbc.tar.bz2
Make sure the message dispatcher stays around until after OMX_FreeHandle is finished in case it posts some more messages during shutdown. Clear the source as soon as possible in OMXCodec's destructor.
Change-Id: I9c896cf07dea0c3201b6f074dbaf27e6d85cd784
Diffstat (limited to 'media/libstagefright/OMXCodec.cpp')
-rw-r--r--media/libstagefright/OMXCodec.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index b6710af..523b79c 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -1443,6 +1443,8 @@ void OMXCodec::setComponentRole() {
}
OMXCodec::~OMXCodec() {
+ mSource.clear();
+
CHECK(mState == LOADED || mState == ERROR);
status_t err = mOMX->freeNode(mNode);