summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--gst/speexresample/gstspeexresample.c2
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7f417f10..b697f77b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2008-10-30 Sebastian Dröge <slomo@circular-chaos.org>
+ * 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 <slomo@circular-chaos.org>
+
* tests/check/elements/speexresample.c: (element_message_cb),
(eos_message_cb), (test_pipeline), (GST_START_TEST),
(speexresample_suite):
diff --git a/gst/speexresample/gstspeexresample.c b/gst/speexresample/gstspeexresample.c
index 798e0c6f..7d04257a 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;