blob: f20d81db0ce300f0ce379cbc5c3054928b442855 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
|