summaryrefslogtreecommitdiffstats
path: root/gst/filter/gstlpwsinc.c
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2007-08-16 19:22:48 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2007-08-16 19:22:48 +0000
commite221638fdd642bdf8b4a86365d8a873e89ca9e46 (patch)
treea9a8aeaf955e416d5b38c032db00d0b3ef0ee2d4 /gst/filter/gstlpwsinc.c
parent1df9f40304a2b03667dd88fe3b41d75204986335 (diff)
downloadgst-plugins-bad-e221638fdd642bdf8b4a86365d8a873e89ca9e46.tar.gz
gst-plugins-bad-e221638fdd642bdf8b4a86365d8a873e89ca9e46.tar.bz2
gst-plugins-bad-e221638fdd642bdf8b4a86365d8a873e89ca9e46.zip
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.
Diffstat (limited to 'gst/filter/gstlpwsinc.c')
-rw-r--r--gst/filter/gstlpwsinc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/filter/gstlpwsinc.c b/gst/filter/gstlpwsinc.c
index d86aace1..3869553b 100644
--- a/gst/filter/gstlpwsinc.c
+++ b/gst/filter/gstlpwsinc.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