gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
without releasing the port lock, and this can cause a deadlock with the
EventHandler. This patches fixes this by dropping the lock for the duration of
the fill buffer call.
* valid anymore after the buffer was consumed
*/
buf->omx_buf->nFlags = 0;
+ g_mutex_unlock (port->port_lock);
err = OMX_FillThisBuffer (comp->handle, buf->omx_buf);
+ g_mutex_lock (port->port_lock);
if (err != OMX_ErrorNone) {
GST_ERROR_OBJECT (comp->parent,
"Failed to pass buffer %p (%p) to port %u: %s (0x%08x)", buf,