From e9141b718b3f1c3af92898f2982e188ea42b746a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 16 Feb 2015 23:54:28 +0000 Subject: [PATCH] audiovisualizer: don't use private GMutex implementation details Don't use private GMutex implementation details to check whether it has been freed already or not. Just turn dispose function into finalize function which will only be called once, that way we can just clear the mutex unconditionally. --- gst/audiovisualizers/gstaudiovisualizer.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gst/audiovisualizers/gstaudiovisualizer.c b/gst/audiovisualizers/gstaudiovisualizer.c index 9d5767a..0352787 100644 --- a/gst/audiovisualizers/gstaudiovisualizer.c +++ b/gst/audiovisualizers/gstaudiovisualizer.c @@ -63,7 +63,7 @@ static void gst_audio_visualizer_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_audio_visualizer_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); -static void gst_audio_visualizer_dispose (GObject * object); +static void gst_audio_visualizer_finalize (GObject * object); static gboolean gst_audio_visualizer_src_negotiate (GstAudioVisualizer * scope); static gboolean gst_audio_visualizer_src_setcaps (GstAudioVisualizer * @@ -548,7 +548,7 @@ gst_audio_visualizer_class_init (GstAudioVisualizerClass * klass) gobject_class->set_property = gst_audio_visualizer_set_property; gobject_class->get_property = gst_audio_visualizer_get_property; - gobject_class->dispose = gst_audio_visualizer_dispose; + gobject_class->finalize = gst_audio_visualizer_finalize; element_class->change_state = GST_DEBUG_FUNCPTR (gst_audio_visualizer_change_state); @@ -655,7 +655,7 @@ gst_audio_visualizer_get_property (GObject * object, guint prop_id, } static void -gst_audio_visualizer_dispose (GObject * object) +gst_audio_visualizer_finalize (GObject * object) { GstAudioVisualizer *scope = GST_AUDIO_VISUALIZER (object); @@ -672,11 +672,10 @@ gst_audio_visualizer_dispose (GObject * object) gst_buffer_unref (scope->tempbuf); scope->tempbuf = NULL; } - if (scope->config_lock.p) { - g_mutex_clear (&scope->config_lock); - scope->config_lock.p = NULL; - } - G_OBJECT_CLASS (parent_class)->dispose (object); + + g_mutex_clear (&scope->config_lock); + + G_OBJECT_CLASS (parent_class)->finalize (object); } static void -- 2.7.4