diff options
author | ywan171 <yi.a.wang@intel.com> | 2014-02-24 16:05:17 +0800 |
---|---|---|
committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:03:43 -0700 |
commit | 41e08b779bbfab77f59765aa470aa93e2d81b877 (patch) | |
tree | 86ac16e9cf92c1bcdfd6ade3c5eb0ba7a8995c30 /base/src/componentbase.cpp | |
parent | 7cc9fbfc0cc668adf018b9d2d3f08c50724903c6 (diff) | |
download | wrs_omxil_core-41e08b779bbfab77f59765aa470aa93e2d81b877.tar.gz |
wrs_core: add timeout waitevent in video decoder to avoid dead lock when state changes from disable to enable
BZ: 164253
When output port state changes from disable to enable, the HAL will wait gralloc buffers set from OMX client.
If dequeuebuffer fails in omx client, the video decoder HAL will fall into dead wait, and error will occur in destroying
OMX node. add timeout waitevent in wrs_core for video decoder to avoid dead lock
Change-Id: I604ca37879d95bfd5cdfc2512043c1c60a74d415
Signed-off-by: ywan171 <yi.a.wang@intel.com>
Diffstat (limited to 'base/src/componentbase.cpp')
-rw-r--r-- | base/src/componentbase.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/base/src/componentbase.cpp b/base/src/componentbase.cpp index ff68212..e1ef01a 100644 --- a/base/src/componentbase.cpp +++ b/base/src/componentbase.cpp @@ -1696,13 +1696,12 @@ void ComponentBase::TransStatePort(OMX_U32 port_index, OMX_U8 state) data1 = OMX_CommandPortDisable; } data2 = i; - } - else { + } else { event = OMX_EventError; data1 = ret; data2 = 0; } - callbacks->EventHandler(handle, appdata, OMX_EventCmdComplete, + callbacks->EventHandler(handle, appdata, event, data1, data2, NULL); } pthread_mutex_unlock(&ports_block); |