From a9090746e58e9a994d7f07f61452602b31461e1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 10 Aug 2007 05:51:40 +0000 Subject: gst/filter/gstbpwsinc.c: Fix a segfault with more than one channel and don't rebuild the kernel & residue with every ... Original commit message from CVS: * gst/filter/gstbpwsinc.c: (bpwsinc_build_kernel): Fix a segfault with more than one channel and don't rebuild the kernel & residue with every buffer. --- gst/filter/gstbpwsinc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gst') diff --git a/gst/filter/gstbpwsinc.c b/gst/filter/gstbpwsinc.c index dcf7c68f..d6bb3d12 100644 --- a/gst/filter/gstbpwsinc.c +++ b/gst/filter/gstbpwsinc.c @@ -313,6 +313,8 @@ bpwsinc_build_kernel (GstBPWSinc * self) return; } + self->have_kernel = TRUE; + /* Clamp frequencies */ self->lower_frequency = CLAMP (self->lower_frequency, 0.0, @@ -412,7 +414,8 @@ bpwsinc_build_kernel (GstBPWSinc * self) if (self->residue) g_free (self->residue); - self->residue = g_new0 (gdouble, len); + self->residue = + g_new0 (gdouble, len * GST_AUDIO_FILTER (self)->format.channels); } /* GstAudioFilter vmethod implementations */ -- cgit v1.2.1