diff options
Diffstat (limited to 'meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch')
-rw-r--r-- | meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch b/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch new file mode 100644 index 00000000..686e0693 --- /dev/null +++ b/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch @@ -0,0 +1,77 @@ +From 1975efe159dc52a8030602736c5319785fb62329 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Thu, 5 Sep 2013 04:15:26 -0600 +Subject: [PATCH 05/11] 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 <christian.koenig@amd.com> +--- + 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* */ +-- +1.7.9.5 + |