summaryrefslogtreecommitdiffstats
path: root/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomx-Once-reinitialize-an-instance-and-then-retry-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomx-Once-reinitialize-an-instance-and-then-retry-.patch')
-rw-r--r--common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomx-Once-reinitialize-an-instance-and-then-retry-.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomx-Once-reinitialize-an-instance-and-then-retry-.patch b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomx-Once-reinitialize-an-instance-and-then-retry-.patch
new file mode 100644
index 0000000..f20d81d
--- /dev/null
+++ b/common/recipes-multimedia/gstreamer/gstreamer1.0-omx/0014-gstomx-Once-reinitialize-an-instance-and-then-retry-.patch
@@ -0,0 +1,39 @@
+From 4a858bb6cf197653aa77f6a3d8b652a793419291 Mon Sep 17 00:00:00 2001
+From: Kazunori Kobayashi <kkobayas@igel.co.jp>
+Date: Thu, 27 Jun 2013 22:03:37 +0900
+Subject: [PATCH 14/14] gstomx: Once reinitialize an instance and then retry
+ OMX_Init() if OMX_GetHandle() fails
+
+Reinitializing an instance in case that OMX_GetHandle() fails may
+be effective especially for some stateful OMXIL libraries since it
+resets the state.
+---
+ omx/gstomx.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/omx/gstomx.c b/omx/gstomx.c
+index 6738d98..6b0a3d1 100644
+--- a/omx/gstomx.c
++++ b/omx/gstomx.c
+@@ -630,7 +630,9 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name,
+ GstOMXCore *core;
+ GstOMXComponent *comp;
+ const gchar *dot;
++ gint retry = 1;
+
++reinit:
+ core = gst_omx_core_acquire (core_name);
+ if (!core)
+ return NULL;
+@@ -653,6 +655,8 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name,
+ gst_omx_core_release (core);
+ g_free (comp->name);
+ g_slice_free (GstOMXComponent, comp);
++ if (retry-- > 0)
++ goto reinit;
+ return NULL;
+ }
+ GST_DEBUG_OBJECT (parent,
+--
+1.8.1.2
+