From 1975efe159dc52a8030602736c5319785fb62329 Mon Sep 17 00:00:00 2001 From: Christian König Date: Thu, 5 Sep 2013 04:15:26 -0600 Subject: omx: improve tunneling support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep track where the tunnel leads us instead of just if it's tunneled or not. Signed-off-by: Christian König --- omx/gstomx.c | 13 +++++++------ omx/gstomx.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/omx/gstomx.c b/omx/gstomx.c index 4e94712..c8a8927 100644 --- a/omx/gstomx.c +++ b/omx/gstomx.c @@ -920,7 +920,7 @@ gst_omx_component_add_port (GstOMXComponent * comp, guint32 index) port->comp = comp; port->index = index; - port->tunneled = FALSE; + port->tunneled = NULL; port->port_def = port_def; @@ -1085,8 +1085,8 @@ gst_omx_component_setup_tunnel (GstOMXComponent * comp1, GstOMXPort * port1, port2->index); if (err == OMX_ErrorNone) { - port1->tunneled = TRUE; - port2->tunneled = TRUE; + port1->tunneled = port2; + port2->tunneled = port1; } GST_DEBUG_OBJECT (comp1->parent, @@ -1115,7 +1115,8 @@ gst_omx_component_close_tunnel (GstOMXComponent * comp1, GstOMXPort * port1, g_return_val_if_fail (port2->port_def.eDir == OMX_DirInput, OMX_ErrorUndefined); g_return_val_if_fail (comp1->core == comp2->core, OMX_ErrorUndefined); - g_return_val_if_fail (port1->tunneled && port2->tunneled, OMX_ErrorUndefined); + g_return_val_if_fail (port1->tunneled == port2, OMX_ErrorUndefined); + g_return_val_if_fail (port2->tunneled == port1, OMX_ErrorUndefined); g_mutex_lock (&comp1->lock); g_mutex_lock (&comp2->lock); @@ -1136,8 +1137,8 @@ gst_omx_component_close_tunnel (GstOMXComponent * comp1, GstOMXPort * port1, gst_omx_error_to_string (err), err); } - port1->tunneled = FALSE; - port2->tunneled = FALSE; + port1->tunneled = NULL; + port2->tunneled = NULL; GST_DEBUG_OBJECT (comp1->parent, "Closed tunnel between %s port %u and %s port %u", diff --git a/omx/gstomx.h b/omx/gstomx.h index 8af81b8..3645b63 100644 --- a/omx/gstomx.h +++ b/omx/gstomx.h @@ -199,7 +199,7 @@ struct _GstOMXPort { GstOMXComponent *comp; guint32 index; - gboolean tunneled; + GstOMXPort *tunneled; OMX_PARAM_PORTDEFINITIONTYPE port_def; GPtrArray *buffers; /* Contains GstOMXBuffer* */ -- cgit v1.2.3