diff options
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-.patch | 39 |
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 + |