From: <fe...@ke...> - 2009-03-13 22:39:55
|
Module: gst-openmax Branch: master Commit: 1fa0f2c0e11bdd6cb3c112906d4347271cfbdb01 URL: http://cgit.freedesktop.org/gstreamer/gst-openmax/commit/?id=1fa0f2c0e11bdd6cb3c112906d4347271cfbdb01 Author: Felipe Contreras <fel...@gm...> Date: Sat Mar 14 00:33:17 2009 +0200 util: cleanup request_imp Signed-off-by: Felipe Contreras <fel...@gm...> --- omx/gstomx_util.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/omx/gstomx_util.c b/omx/gstomx_util.c index 28647df..e29aaae 100644 --- a/omx/gstomx_util.c +++ b/omx/gstomx_util.c @@ -167,6 +167,7 @@ static inline GOmxImp * request_imp (const gchar *name) { GOmxImp *imp = NULL; + g_mutex_lock (imp_mutex); imp = g_hash_table_lookup (implementations, name); if (!imp) @@ -176,8 +177,10 @@ request_imp (const gchar *name) g_hash_table_insert (implementations, g_strdup (name), imp); } g_mutex_unlock (imp_mutex); + if (!imp) - goto exit; + return NULL; + g_mutex_lock (imp->mutex); if (imp->client_count == 0) { @@ -186,14 +189,12 @@ request_imp (const gchar *name) if (omx_error) { g_mutex_unlock (imp->mutex); - imp = NULL; - goto exit; + return NULL; } } imp->client_count++; g_mutex_unlock (imp->mutex); -exit: return imp; } |