summaryrefslogtreecommitdiffstats
path: root/gst/spectrum
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2007-11-26 10:08:20 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2007-11-26 10:08:20 +0000
commit48a4bc909ab4c488d1de553004a0a6a5f84dd8c0 (patch)
tree1e9b14ff17b2d6ddb9ab4ea3172f3ce1942add9d /gst/spectrum
parent15ebc3993997987631c6dc7532120e8177dbfc8b (diff)
gst/spectrum/gstspectrum.c: Use dispose and finalize. Dispose can be called multiple times.
Original commit message from CVS: * gst/spectrum/gstspectrum.c: Use dispose and finalize. Dispose can be called multiple times.
Diffstat (limited to 'gst/spectrum')
-rw-r--r--gst/spectrum/gstspectrum.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gst/spectrum/gstspectrum.c b/gst/spectrum/gstspectrum.c
index 85e0540f..1382f260 100644
--- a/gst/spectrum/gstspectrum.c
+++ b/gst/spectrum/gstspectrum.c
@@ -136,6 +136,7 @@ GST_BOILERPLATE (GstSpectrum, gst_spectrum, GstAudioFilter,
GST_TYPE_AUDIO_FILTER);
static void gst_spectrum_dispose (GObject * object);
+static void gst_spectrum_finalize (GObject * object);
static void gst_spectrum_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
static void gst_spectrum_get_property (GObject * object, guint prop_id,
@@ -177,6 +178,7 @@ gst_spectrum_class_init (GstSpectrumClass * klass)
gobject_class->set_property = gst_spectrum_set_property;
gobject_class->get_property = gst_spectrum_get_property;
gobject_class->dispose = gst_spectrum_dispose;
+ gobject_class->finalize = gst_spectrum_finalize;
trans_class->start = GST_DEBUG_FUNCPTR (gst_spectrum_start);
trans_class->stop = GST_DEBUG_FUNCPTR (gst_spectrum_stop);
@@ -245,6 +247,14 @@ gst_spectrum_dispose (GObject * object)
spectrum->adapter = NULL;
}
+ G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_spectrum_finalize (GObject * object)
+{
+ GstSpectrum *spectrum = GST_SPECTRUM (object);
+
g_free (spectrum->in);
if (spectrum->fft_free_func) {
spectrum->fft_free_func (spectrum->fft_ctx);
@@ -260,7 +270,7 @@ gst_spectrum_dispose (GObject * object)
spectrum->spect_phase = NULL;
spectrum->freqdata = NULL;
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void