summaryrefslogtreecommitdiffstats
path: root/gst/audioresample/gstaudioresample.c
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2005-08-25 15:44:58 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2005-08-25 15:44:58 +0000
commit3d95afd88998b3aa8d26fbf5252ff7cbb46900da (patch)
tree005adc447f26e3672ad34aa4c192216be27287a0 /gst/audioresample/gstaudioresample.c
parentdcf4df2a026e73eb67b9c94208250fd1261d6bca (diff)
downloadgst-plugins-bad-3d95afd88998b3aa8d26fbf5252ff7cbb46900da.tar.gz
gst-plugins-bad-3d95afd88998b3aa8d26fbf5252ff7cbb46900da.tar.bz2
gst-plugins-bad-3d95afd88998b3aa8d26fbf5252ff7cbb46900da.zip
add a check for audioresample
Original commit message from CVS: add a check for audioresample
Diffstat (limited to 'gst/audioresample/gstaudioresample.c')
-rw-r--r--gst/audioresample/gstaudioresample.c12
1 files changed, 10 insertions, 2 deletions
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)) {