From ac420ff0de3a996b3380fd10007879957d014669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 25 Oct 2012 14:28:49 +0200 Subject: [PATCH] eglglessink: Stop using deprecated GLib thread API --- ext/eglgles/gsteglglessink.c | 38 ++++++++++++++++-------------------- ext/eglgles/gsteglglessink.h | 4 ++-- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c index ae97b9b682..2713d3f958 100644 --- a/ext/eglgles/gsteglglessink.c +++ b/ext/eglgles/gsteglglessink.c @@ -609,9 +609,9 @@ render_thread_func (GstEglGlesSink * eglglessink) if (caps != eglglessink->configured_caps) { if (!gst_eglglessink_configure_caps (eglglessink, caps)) { eglglessink->last_flow = GST_FLOW_NOT_NEGOTIATED; - g_mutex_lock (eglglessink->render_lock); - g_cond_broadcast (eglglessink->render_cond); - g_mutex_unlock (eglglessink->render_lock); + g_mutex_lock (&eglglessink->render_lock); + g_cond_broadcast (&eglglessink->render_cond); + g_mutex_unlock (&eglglessink->render_lock); item->destroy (item); break; } @@ -627,9 +627,9 @@ render_thread_func (GstEglGlesSink * eglglessink) } if (buf) { - g_mutex_lock (eglglessink->render_lock); - g_cond_broadcast (eglglessink->render_cond); - g_mutex_unlock (eglglessink->render_lock); + g_mutex_lock (&eglglessink->render_lock); + g_cond_broadcast (&eglglessink->render_cond); + g_mutex_unlock (&eglglessink->render_lock); } item->destroy (item); if (eglglessink->last_flow != GST_FLOW_OK) @@ -778,9 +778,9 @@ gst_eglglessink_stop (GstEglGlesSink * eglglessink) GST_DEBUG_OBJECT (eglglessink, "Stopping"); gst_data_queue_set_flushing (eglglessink->queue, TRUE); - g_mutex_lock (eglglessink->render_lock); - g_cond_broadcast (eglglessink->render_cond); - g_mutex_unlock (eglglessink->render_lock); + g_mutex_lock (&eglglessink->render_lock); + g_cond_broadcast (&eglglessink->render_cond); + g_mutex_unlock (&eglglessink->render_lock); if (eglglessink->thread) { g_thread_join (eglglessink->thread); @@ -1697,19 +1697,19 @@ gst_eglglessink_queue_buffer (GstEglGlesSink * eglglessink, GstBuffer * buf) GST_DEBUG_OBJECT (eglglessink, "Queueing buffer %" GST_PTR_FORMAT, buf); if (buf) - g_mutex_lock (eglglessink->render_lock); + g_mutex_lock (&eglglessink->render_lock); if (!gst_data_queue_push (eglglessink->queue, item)) { - g_mutex_unlock (eglglessink->render_lock); + g_mutex_unlock (&eglglessink->render_lock); GST_DEBUG_OBJECT (eglglessink, "Flushing"); return GST_FLOW_FLUSHING; } if (buf) { GST_DEBUG_OBJECT (eglglessink, "Waiting for buffer to be rendered"); - g_cond_wait (eglglessink->render_cond, eglglessink->render_lock); + g_cond_wait (&eglglessink->render_cond, &eglglessink->render_lock); GST_DEBUG_OBJECT (eglglessink, "Buffer rendered: %s", gst_flow_get_name (eglglessink->last_flow)); - g_mutex_unlock (eglglessink->render_lock); + g_mutex_unlock (&eglglessink->render_lock); } return (buf ? eglglessink->last_flow : GST_FLOW_OK); @@ -2280,12 +2280,8 @@ gst_eglglessink_finalize (GObject * object) g_object_unref (eglglessink->queue); eglglessink->queue = NULL; - if (eglglessink->render_cond) - g_cond_free (eglglessink->render_cond); - eglglessink->render_cond = NULL; - if (eglglessink->render_lock); - g_mutex_free (eglglessink->render_lock); - eglglessink->render_lock = NULL; + g_cond_clear (&eglglessink->render_cond); + g_mutex_clear (&eglglessink->render_lock); G_OBJECT_CLASS (parent_class)->finalize (object); } @@ -2413,8 +2409,8 @@ gst_eglglessink_init (GstEglGlesSink * eglglessink) eglglessink->create_window = TRUE; eglglessink->force_aspect_ratio = TRUE; - eglglessink->render_lock = g_mutex_new (); - eglglessink->render_cond = g_cond_new (); + g_mutex_init (&eglglessink->render_lock); + g_cond_init (&eglglessink->render_cond); eglglessink->queue = gst_data_queue_new (queue_check_full_func, NULL, NULL, NULL); eglglessink->last_flow = GST_FLOW_FLUSHING; diff --git a/ext/eglgles/gsteglglessink.h b/ext/eglgles/gsteglglessink.h index d178c83951..3f61ec8d62 100644 --- a/ext/eglgles/gsteglglessink.h +++ b/ext/eglgles/gsteglglessink.h @@ -207,8 +207,8 @@ struct _GstEglGlesSink GThread *thread; gboolean thread_running; GstDataQueue *queue; - GCond *render_cond; - GMutex *render_lock; + GCond render_cond; + GMutex render_lock; GstFlowReturn last_flow; /* Properties */