diff options
Diffstat (limited to 'gst-libs/gst/audio/gstaudiofilter.c')
-rw-r--r-- | gst-libs/gst/audio/gstaudiofilter.c | 6 |
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); |