diff --git a/ChangeLog b/ChangeLog index 7f417f1087..b697f77bae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-10-30 Sebastian Dröge + + * gst/speexresample/gstspeexresample.c: + (gst_speex_resample_convert_buffer): + The length for the buffer conversion function is the number of + audio frames, i.e. we need to multiply it by the number of channels + to get the number of values. Also spotted by the unit test after + running in valgrind. + 2008-10-30 Sebastian Dröge * tests/check/elements/speexresample.c: (element_message_cb), diff --git a/gst/speexresample/gstspeexresample.c b/gst/speexresample/gstspeexresample.c index 798e0c6fb3..7d04257a37 100644 --- a/gst/speexresample/gstspeexresample.c +++ b/gst/speexresample/gstspeexresample.c @@ -569,6 +569,8 @@ static void gst_speex_resample_convert_buffer (GstSpeexResample * resample, const guint8 * in, guint8 * out, guint len, gboolean inverse) { + len *= resample->channels; + if (inverse) { if (resample->width == 8 && !resample->fp) { gint8 *o = (gint8 *) out;