From 463cd1466bcb040e245813d0c3a3122f67d7b02d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 18 Jan 2008 07:03:23 +0000 Subject: [PATCH] gst/equalizer/gstiirequalizer.c: Unparent all bands from the equalizer when finalizing to stop leaking them. Original commit message from CVS: * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_finalize): Unparent all bands from the equalizer when finalizing to stop leaking them. --- ChangeLog | 6 ++++++ gst/equalizer/gstiirequalizer.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/ChangeLog b/ChangeLog index d901318c48..a02f0129f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-01-18 Sebastian Dröge + + * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_finalize): + Unparent all bands from the equalizer when finalizing to stop + leaking them. + 2008-01-18 Sebastian Dröge * ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_uri_get_protocols): diff --git a/gst/equalizer/gstiirequalizer.c b/gst/equalizer/gstiirequalizer.c index 54e8abc591..684e8843f8 100644 --- a/gst/equalizer/gstiirequalizer.c +++ b/gst/equalizer/gstiirequalizer.c @@ -340,6 +340,14 @@ static void gst_iir_equalizer_finalize (GObject * object) { GstIirEqualizer *equ = GST_IIR_EQUALIZER (object); + gint i; + + for (i = 0; i < equ->freq_band_count; i++) { + if (equ->bands[i]) + gst_object_unparent (GST_OBJECT (equ->bands[i])); + equ->bands[i] = NULL; + } + equ->freq_band_count = 0; g_free (equ->bands); g_free (equ->history);