aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorywan171 <yi.a.wang@intel.com>2014-05-13 09:42:21 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:03:44 -0700
commit11edd8693709808ef6b89b3f58970ea64bf95486 (patch)
tree9eefdce99a2f69dd7d3336130d439f4b831a971d
parentb8964d8a892a8f105ac047d9a4d56300cf35d8c2 (diff)
downloadwrs_omxil_core-11edd8693709808ef6b89b3f58970ea64bf95486.tar.gz
wrs_core: notify error event if enabled complete event is triggered by freeing buffer
BZ: 190818 notify error event instead if enabled complete event is triggered by freeing buffer Change-Id: I6997dbf7f38ff8c3653d14da5425db5ba665179e Signed-off-by: ywan171 <yi.a.wang@intel.com>
-rw-r--r--base/src/portbase.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/base/src/portbase.cpp b/base/src/portbase.cpp
index 4b33ed3..55a2494 100644
--- a/base/src/portbase.cpp
+++ b/base/src/portbase.cpp
@@ -1023,6 +1023,10 @@ OMX_ERRORTYPE PortBase::TransState(OMX_U8 transition)
if (cbase->GetWorkingRole() != NULL &&
!strncmp (cbase->GetWorkingRole(),"video_decoder", 13 )) {
ret = WaitPortBufferCompletionTimeout(800); //0.8s timeout
+ if (!nr_buffer_hdrs) {
+ // event is trigger by freeing buffer instead of allocating buffer
+ ret = OMX_ErrorBadParameter;
+ }
if (ret != OMX_ErrorNone) {
goto unlock;
}