From fc8a487616e9b6da20f6edbdeed8e536a0456847 Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Thu, 16 Aug 2007 19:22:48 +0000 Subject: gst/filter/gstbpwsinc.*: Implement latency query and only forward those samples downstream that actually contain the ... Original commit message from CVS: * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init), (gst_bpwsinc_init), (process_32), (process_64), (bpwsinc_build_kernel), (bpwsinc_push_residue), (bpwsinc_transform), (bpwsinc_start), (bpwsinc_query), (bpwsinc_query_type), (bpwsinc_event), (bpwsinc_set_property): * gst/filter/gstbpwsinc.h: Implement latency query and only forward those samples downstream that actually contain the data we want, i.e. drop kernel_length/2 in the beginning and append kernel_length/2 (created by convolving the filter kernel with zeroes) to the end. * tests/check/elements/bpwsinc.c: (GST_START_TEST): Adjust the unit test for this slightly changed behaviour. * gst/filter/gstlpwsinc.c: (lpwsinc_build_kernel): Reset residue length only when actually creating a residue. --- gst/audiofx/audiowsinclimit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gst/audiofx/audiowsinclimit.c') diff --git a/gst/audiofx/audiowsinclimit.c b/gst/audiofx/audiowsinclimit.c index d86aace1..3869553b 100644 --- a/gst/audiofx/audiowsinclimit.c +++ b/gst/audiofx/audiowsinclimit.c @@ -421,12 +421,13 @@ lpwsinc_build_kernel (GstLPWSinc * self) } /* set up the residue memory space */ - if (!self->residue) + if (!self->residue) { self->residue = g_new0 (gdouble, len * GST_AUDIO_FILTER (self)->format.channels); + self->residue_length = 0; + } self->have_kernel = TRUE; - self->residue_length = 0; } static void -- cgit