From dc5bb008a389c028dec63ba0379898e68b59b98c Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Sun, 9 Sep 2012 20:34:47 -0300 Subject: [PATCH] audio: port to the new GLib thread API --- gst-libs/gst/audio/gstaudioringbuffer.c | 4 ++-- gst-libs/gst/audio/gstaudioringbuffer.h | 4 ++-- gst-libs/gst/audio/gstaudiosink.c | 8 ++++---- gst-libs/gst/audio/gstaudiosrc.c | 11 ++++------- 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/gst-libs/gst/audio/gstaudioringbuffer.c b/gst-libs/gst/audio/gstaudioringbuffer.c index 4893133655..95a000d90e 100644 --- a/gst-libs/gst/audio/gstaudioringbuffer.c +++ b/gst-libs/gst/audio/gstaudioringbuffer.c @@ -83,7 +83,7 @@ gst_audio_ring_buffer_init (GstAudioRingBuffer * ringbuffer) ringbuffer->open = FALSE; ringbuffer->acquired = FALSE; ringbuffer->state = GST_AUDIO_RING_BUFFER_STATE_STOPPED; - ringbuffer->cond = g_cond_new (); + g_cond_init (&ringbuffer->cond); ringbuffer->waiting = 0; ringbuffer->empty_seg = NULL; ringbuffer->flushing = TRUE; @@ -105,7 +105,7 @@ gst_audio_ring_buffer_finalize (GObject * object) { GstAudioRingBuffer *ringbuffer = GST_AUDIO_RING_BUFFER (object); - g_cond_free (ringbuffer->cond); + g_cond_clear (&ringbuffer->cond); g_free (ringbuffer->empty_seg); G_OBJECT_CLASS (gst_audio_ring_buffer_parent_class)->finalize (G_OBJECT diff --git a/gst-libs/gst/audio/gstaudioringbuffer.h b/gst-libs/gst/audio/gstaudioringbuffer.h index 0d01f843f9..7c56a27c57 100644 --- a/gst-libs/gst/audio/gstaudioringbuffer.h +++ b/gst-libs/gst/audio/gstaudioringbuffer.h @@ -145,7 +145,7 @@ struct _GstAudioRingBufferSpec gpointer _gst_reserved[GST_PADDING]; }; -#define GST_AUDIO_RING_BUFFER_GET_COND(buf) (((GstAudioRingBuffer *)buf)->cond) +#define GST_AUDIO_RING_BUFFER_GET_COND(buf) (&(((GstAudioRingBuffer *)buf)->cond)) #define GST_AUDIO_RING_BUFFER_WAIT(buf) (g_cond_wait (GST_AUDIO_RING_BUFFER_GET_COND (buf), GST_OBJECT_GET_LOCK (buf))) #define GST_AUDIO_RING_BUFFER_SIGNAL(buf) (g_cond_signal (GST_AUDIO_RING_BUFFER_GET_COND (buf))) #define GST_AUDIO_RING_BUFFER_BROADCAST(buf)(g_cond_broadcast (GST_AUDIO_RING_BUFFER_GET_COND (buf))) @@ -171,7 +171,7 @@ struct _GstAudioRingBuffer { GstObject object; /*< public >*/ /* with LOCK */ - GCond *cond; + GCond cond; gboolean open; gboolean acquired; guint8 *memory; diff --git a/gst-libs/gst/audio/gstaudiosink.c b/gst-libs/gst/audio/gstaudiosink.c index c10c5a17c5..c68fa8c095 100644 --- a/gst-libs/gst/audio/gstaudiosink.c +++ b/gst-libs/gst/audio/gstaudiosink.c @@ -92,7 +92,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_audio_sink_debug); typedef struct _GstAudioSinkRingBuffer GstAudioSinkRingBuffer; typedef struct _GstAudioSinkRingBufferClass GstAudioSinkRingBufferClass; -#define GST_AUDIO_SINK_RING_BUFFER_GET_COND(buf) (((GstAudioSinkRingBuffer *)buf)->cond) +#define GST_AUDIO_SINK_RING_BUFFER_GET_COND(buf) (&(((GstAudioSinkRingBuffer *)buf)->cond)) #define GST_AUDIO_SINK_RING_BUFFER_WAIT(buf) (g_cond_wait (GST_AUDIO_SINK_RING_BUFFER_GET_COND (buf), GST_OBJECT_GET_LOCK (buf))) #define GST_AUDIO_SINK_RING_BUFFER_SIGNAL(buf) (g_cond_signal (GST_AUDIO_SINK_RING_BUFFER_GET_COND (buf))) #define GST_AUDIO_SINK_RING_BUFFER_BROADCAST(buf)(g_cond_broadcast (GST_AUDIO_SINK_RING_BUFFER_GET_COND (buf))) @@ -104,7 +104,7 @@ struct _GstAudioSinkRingBuffer gboolean running; gint queuedseg; - GCond *cond; + GCond cond; }; struct _GstAudioSinkRingBufferClass @@ -320,7 +320,7 @@ gst_audio_sink_ring_buffer_init (GstAudioSinkRingBuffer * ringbuffer, ringbuffer->running = FALSE; ringbuffer->queuedseg = 0; - ringbuffer->cond = g_cond_new (); + g_cond_init (&ringbuffer->cond); } static void @@ -334,7 +334,7 @@ gst_audio_sink_ring_buffer_finalize (GObject * object) { GstAudioSinkRingBuffer *ringbuffer = GST_AUDIO_SINK_RING_BUFFER_CAST (object); - g_cond_free (ringbuffer->cond); + g_cond_clear (&ringbuffer->cond); G_OBJECT_CLASS (ring_parent_class)->finalize (object); } diff --git a/gst-libs/gst/audio/gstaudiosrc.c b/gst-libs/gst/audio/gstaudiosrc.c index d6eff00b5b..8a702414b2 100644 --- a/gst-libs/gst/audio/gstaudiosrc.c +++ b/gst-libs/gst/audio/gstaudiosrc.c @@ -90,7 +90,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_audio_src_debug); typedef struct _GstAudioSrcRingBuffer GstAudioSrcRingBuffer; typedef struct _GstAudioSrcRingBufferClass GstAudioSrcRingBufferClass; -#define GST_AUDIO_SRC_RING_BUFFER_GET_COND(buf) (((GstAudioSrcRingBuffer *)buf)->cond) +#define GST_AUDIO_SRC_RING_BUFFER_GET_COND(buf) (&(((GstAudioSrcRingBuffer *)buf)->cond)) #define GST_AUDIO_SRC_RING_BUFFER_WAIT(buf) (g_cond_wait (GST_AUDIO_SRC_RING_BUFFER_GET_COND (buf), GST_OBJECT_GET_LOCK (buf))) #define GST_AUDIO_SRC_RING_BUFFER_SIGNAL(buf) (g_cond_signal (GST_AUDIO_SRC_RING_BUFFER_GET_COND (buf))) #define GST_AUDIO_SRC_RING_BUFFER_BROADCAST(buf)(g_cond_broadcast (GST_AUDIO_SRC_RING_BUFFER_GET_COND (buf))) @@ -102,7 +102,7 @@ struct _GstAudioSrcRingBuffer gboolean running; gint queuedseg; - GCond *cond; + GCond cond; }; struct _GstAudioSrcRingBufferClass @@ -301,7 +301,7 @@ gst_audio_src_ring_buffer_init (GstAudioSrcRingBuffer * ringbuffer, ringbuffer->running = FALSE; ringbuffer->queuedseg = 0; - ringbuffer->cond = g_cond_new (); + g_cond_init (&ringbuffer->cond); } static void @@ -309,10 +309,7 @@ gst_audio_src_ring_buffer_dispose (GObject * object) { GstAudioSrcRingBuffer *ringbuffer = GST_AUDIO_SRC_RING_BUFFER (object); - if (ringbuffer->cond) { - g_cond_free (ringbuffer->cond); - ringbuffer->cond = NULL; - } + g_cond_clear (&ringbuffer->cond); G_OBJECT_CLASS (ring_parent_class)->dispose (object); }