diff options
author | Haynes Mathew George <hgeorge@codeaurora.org> | 2012-06-25 21:27:56 -0700 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2012-06-28 12:45:51 -0700 |
commit | f89a87ab3708e75c406b2abcb7e69dc1b076868a (patch) | |
tree | e4b976bac1b17474efea3e8cb97e5ed0c6c59bd2 /media/libstagefright/OMXCodec.cpp | |
parent | f18da5524ecc50b12ea8233f82892f99106fc009 (diff) | |
download | frameworks_av-f89a87ab3708e75c406b2abcb7e69dc1b076868a.zip frameworks_av-f89a87ab3708e75c406b2abcb7e69dc1b076868a.tar.gz frameworks_av-f89a87ab3708e75c406b2abcb7e69dc1b076868a.tar.bz2 |
Process EBD and FBD messages in ERROR state
- OMXCodec::on_message() function drops all OMX messages if
OMXCodec is in ERROR state
- This can cause EBD/FBD messages containing valid buffers to be
dropped
- Avoid dropping EBD/FBD messages so that buffer book-keeping is still
possible
Change-Id: Idc1174b3fa946b26458d49394b87fba1738b228e
Signed-off-by: Iliyan Malchev <malchev@google.com>
Diffstat (limited to 'media/libstagefright/OMXCodec.cpp')
-rwxr-xr-x | media/libstagefright/OMXCodec.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index b3e14da..8dbac72 100755 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -2050,8 +2050,14 @@ int64_t OMXCodec::getDecodingTimeUs() { void OMXCodec::on_message(const omx_message &msg) { if (mState == ERROR) { - ALOGW("Dropping OMX message - we're in ERROR state."); - return; + /* + * only drop EVENT messages, EBD and FBD are still + * processed for bookkeeping purposes + */ + if (msg.type == omx_message::EVENT) { + ALOGW("Dropping OMX EVENT message - we're in ERROR state."); + return; + } } switch (msg.type) { |