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. --- ChangeLog | 6 ++++++ gst/filter/gstbpwsinc.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 443b77ff..c5db4dd0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-08-10 Sebastian Dröge + + * 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. + 2007-08-10 Sebastian Dröge * gst/filter/gstbpwsinc.c: (gst_bpwsinc_mode_get_type), 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