aboutsummaryrefslogtreecommitdiffstats
path: root/meta-steppeeagle/recipes-multimedia/gstreamer/gstreamer1.0-omx/0005-omx-improve-tunneling-support.patch
diff options
context:
space:
mode:
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.patch77
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
+