summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/audio/gstaudiofilter.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/audio/gstaudiofilter.c')
-rw-r--r--gst-libs/gst/audio/gstaudiofilter.c6
1 files changed, 6 insertions, 0 deletions
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);