diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gst/filter/gstbpwsinc.c | 5 |
2 files changed, 10 insertions, 1 deletions
@@ -1,5 +1,11 @@ 2007-08-10 Sebastian Dröge <slomo@circular-chaos.org> + * 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 <slomo@circular-chaos.org> + * gst/filter/gstbpwsinc.c: (gst_bpwsinc_mode_get_type), (gst_bpwsinc_window_get_type), (gst_bpwsinc_class_init), (gst_bpwsinc_init), (bpwsinc_build_kernel), (bpwsinc_set_property), 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 */ |