summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
Diffstat (limited to 'media')
-rwxr-xr-xmedia/libstagefright/OMXCodec.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index fde7ebf..a6636a1 100755
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -2048,9 +2048,13 @@ int64_t OMXCodec::getDecodingTimeUs() {
}
void OMXCodec::on_message(const omx_message &msg) {
+ // even in error state, we still need to process EMPTY_BUFFER_DONE
+ // and FILL_BUFFER_DONE event, or we will run into mediaserver crash issue
if (mState == ERROR) {
- ALOGW("Dropping OMX message - we're in ERROR state.");
- return;
+ if (msg.type == omx_message::EVENT) {
+ ALOGW("Dropping OMX message - we're in ERROR state.");
+ return;
+ }
}
switch (msg.type) {