diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2007-11-20 20:23:25 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2007-11-20 20:23:25 +0000 |
commit | d832d9bb1691fd8a75e75f25d2021beb545373dd (patch) | |
tree | d022cc51fc9e3b5e611285d9e068efc103563b8c /gst/speexresample | |
parent | 25c4adab310b4b81f934b9f27345ea7986897a2d (diff) | |
download | gstreamer-plugins-base-d832d9bb1691fd8a75e75f25d2021beb545373dd.tar.gz |
gst/speexresample/gstspeexresample.c: Some small cleanup and addition of a TODO item.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_fix_output_buffer), (gst_speex_resample_transform):
Some small cleanup and addition of a TODO item.
Diffstat (limited to 'gst/speexresample')
-rw-r--r-- | gst/speexresample/gstspeexresample.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/gst/speexresample/gstspeexresample.c b/gst/speexresample/gstspeexresample.c index 71df1fa80..9c0e7d30a 100644 --- a/gst/speexresample/gstspeexresample.c +++ b/gst/speexresample/gstspeexresample.c @@ -19,6 +19,11 @@ * Boston, MA 02111-1307, USA. */ + /* TODO: + * - Find out what to do about the first n zero samples + * in the output. + */ + /** * SECTION:element-speexresample * @@ -538,8 +543,7 @@ static void gst_speex_fix_output_buffer (GstSpeexResample * resample, GstBuffer * outbuf, guint diff) { - GstClockTime timediff = - gst_util_uint64_scale (diff, GST_SECOND, resample->outrate); + GstClockTime timediff = GST_FRAMES_TO_CLOCK_TIME (diff, resample->outrate); GST_LOG ("Adjusting buffer by %d samples", diff); @@ -551,8 +555,7 @@ gst_speex_fix_output_buffer (GstSpeexResample * resample, GstBuffer * outbuf, resample->offset -= diff; resample->ts_offset -= diff; resample->next_ts = - gst_util_uint64_scale_int (resample->ts_offset, GST_SECOND, - resample->outrate); + GST_FRAMES_TO_CLOCK_TIME (resample->ts_offset, resample->outrate); } } @@ -662,12 +665,11 @@ gst_speex_resample_transform (GstBaseTransform * base, GstBuffer * inbuf, * same timestamp as the incoming timestamp. */ resample->next_ts = timestamp; resample->ts_offset = - gst_util_uint64_scale_int (timestamp, resample->outrate, GST_SECOND); + GST_CLOCK_TIME_TO_FRAMES (timestamp, resample->outrate); /* offset used to set as the buffer offset, this offset is always * relative to the stream time, note that timestamp is not... */ stime = (timestamp - base->segment.start) + base->segment.time; - resample->offset = - gst_util_uint64_scale_int (stime, resample->outrate, GST_SECOND); + resample->offset = GST_CLOCK_TIME_TO_FRAMES (stime, resample->outrate); } } resample->prev_ts = timestamp; @@ -680,8 +682,7 @@ gst_speex_resample_transform (GstBaseTransform * base, GstBuffer * inbuf, resample->offset += outsamples; resample->ts_offset += outsamples; resample->next_ts = - gst_util_uint64_scale_int (resample->ts_offset, GST_SECOND, - resample->outrate); + GST_FRAMES_TO_CLOCK_TIME (resample->ts_offset, resample->outrate); GST_BUFFER_OFFSET_END (outbuf) = resample->offset; /* we calculate DURATION as the difference between "next" timestamp @@ -692,7 +693,7 @@ gst_speex_resample_transform (GstBaseTransform * base, GstBuffer * inbuf, } else { /* no valid offset know, we can still sortof calculate the duration though */ GST_BUFFER_DURATION (outbuf) = - gst_util_uint64_scale_int (outsamples, GST_SECOND, resample->outrate); + GST_FRAMES_TO_CLOCK_TIME (outsamples, resample->outrate); } if (G_UNLIKELY (resample->need_discont)) { |