summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2007-08-10 05:51:40 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2007-08-10 05:51:40 +0000
commita9090746e58e9a994d7f07f61452602b31461e1e (patch)
tree57f978b017569598168f4f29ebd54e9fb192bde4 /gst
parentf2b50b7bd2c02ce0764a9537ca210bff97ad1084 (diff)
downloadgst-plugins-bad-a9090746e58e9a994d7f07f61452602b31461e1e.tar.gz
gst-plugins-bad-a9090746e58e9a994d7f07f61452602b31461e1e.tar.bz2
gst-plugins-bad-a9090746e58e9a994d7f07f61452602b31461e1e.zip
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.
Diffstat (limited to 'gst')
-rw-r--r--gst/filter/gstbpwsinc.c5
1 files changed, 4 insertions, 1 deletions
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 */