summaryrefslogtreecommitdiff
path: root/ext/libvisual
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2015-02-16 23:54:28 +0000
committerTim-Philipp Müller <tim@centricular.com>2015-02-16 23:54:28 +0000
commit725906bb71d57361cbe450f02e6d953a92676c7b (patch)
treea498529b272568e60d3c20da01dfeea10599fb0b /ext/libvisual
parentfb9ca25f7f0ee850f73b2c323a2c3a8e7d2d92fc (diff)
downloadgstreamer-plugins-base-725906bb71d57361cbe450f02e6d953a92676c7b.tar.gz
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.
Diffstat (limited to 'ext/libvisual')
-rw-r--r--ext/libvisual/gstaudiovisualizer.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/ext/libvisual/gstaudiovisualizer.c b/ext/libvisual/gstaudiovisualizer.c
index 4bc51b325..598d2fc1a 100644
--- a/ext/libvisual/gstaudiovisualizer.c
+++ b/ext/libvisual/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 *
@@ -549,7 +549,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);
@@ -656,7 +656,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);
@@ -673,11 +673,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