From 3d95afd88998b3aa8d26fbf5252ff7cbb46900da Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Thu, 25 Aug 2005 15:44:58 +0000 Subject: add a check for audioresample Original commit message from CVS: add a check for audioresample --- gst/audioresample/gstaudioresample.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gst/audioresample/gstaudioresample.c') diff --git a/gst/audioresample/gstaudioresample.c b/gst/audioresample/gstaudioresample.c index 2aba0928..cbbfe81a 100644 --- a/gst/audioresample/gstaudioresample.c +++ b/gst/audioresample/gstaudioresample.c @@ -353,6 +353,7 @@ static GstFlowReturn guchar *data; gulong size; int outsize; + int outsamples; /* FIXME: move to _inplace */ #if 0 @@ -390,10 +391,17 @@ static GstFlowReturn } outsize = resample_get_output_data (r, GST_BUFFER_DATA (outbuf), outsize); + outsamples = outsize / r->sample_size; + GST_LOG_OBJECT (audioresample, "resample gave me %d bytes or %d samples", + outsize, outsamples); + GST_BUFFER_TIMESTAMP (outbuf) = audioresample->offset * GST_SECOND / audioresample->o_rate; - audioresample->offset += outsize / sizeof (gint16) / audioresample->channels; - GST_BUFFER_DURATION (outbuf) = outsize * GST_SECOND / audioresample->o_rate; + GST_BUFFER_DURATION (outbuf) = + outsamples * GST_SECOND / audioresample->o_rate; + GST_BUFFER_OFFSET (outbuf) = audioresample->offset; + audioresample->offset += outsamples; + GST_BUFFER_OFFSET_END (outbuf) = audioresample->offset; /* check for possible mem corruption */ if (outsize > GST_BUFFER_SIZE (outbuf)) { -- cgit v1.2.1