From 7d64f26d2546be8ff1bcc4bb851108cb50384c58 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Fri, 16 Jan 2004 00:55:29 +0000 Subject: gst-libs/gst/audio/Makefile.am: Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c from the template. Original commit message from CVS: * gst-libs/gst/audio/Makefile.am: Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c from the template. * gst-libs/gst/audio/gstaudiofilter.c: * gst-libs/gst/audio/gstaudiofilter.h: Add bytes_per_sample and size and n_samples calculation. * gst-libs/gst/audio/gstaudiofilterexample.c: Remove, now autogenerated. * gst-libs/gst/audio/gstaudiofiltertemplate.c: Moved from gstaudiofilterexample, object name changed, code added so that it actually works. * gst-libs/gst/audio/make_filter: Script to build an audiofilter subclass from the template. * gst/colorspace/Makefile.am: * gst/colorspace/yuv2yuv.c: Remove file, since it's GPL, and we don't use it. --- gst-libs/gst/audio/gstaudiofilter.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gst-libs/gst/audio/gstaudiofilter.c') diff --git a/gst-libs/gst/audio/gstaudiofilter.c b/gst-libs/gst/audio/gstaudiofilter.c index cda21da0..35ed4875 100644 --- a/gst-libs/gst/audio/gstaudiofilter.c +++ b/gst-libs/gst/audio/gstaudiofilter.c @@ -144,6 +144,9 @@ gst_audiofilter_link (GstPad *pad, const GstCaps *caps) } ret &= gst_structure_get_int (structure, "rate", &audiofilter->rate); + audiofilter->bytes_per_sample = (audiofilter->width/8) * + audiofilter->channels; + if (audiofilter_class->setup) (audiofilter_class->setup) (audiofilter); return GST_PAD_LINK_OK; @@ -204,6 +207,9 @@ gst_audiofilter_chain (GstPad *pad, GstData *data) return; } + audiofilter->size = GST_BUFFER_SIZE (inbuf); + audiofilter->n_samples = audiofilter->size / audiofilter->bytes_per_sample; + if (gst_data_is_writable(data)) { if (audiofilter_class->filter_inplace) { (audiofilter_class->filter_inplace) (audiofilter, inbuf); -- cgit v1.2.1