From 7e4efce31089bab337f86b14747aa0303d450c83 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Sun, 15 Oct 2017 10:29:20 +0200 Subject: [PATCH] audioaggregator: improve readability in offset calculation Don't reuse the offset variables will contain a sample offset for an intermediate time value. Instead add a segment_pos variable of type GstClockTime for this. Use The clock-time macros to check if we got a valid time. --- gst-libs/gst/audio/gstaudioaggregator.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gst-libs/gst/audio/gstaudioaggregator.c b/gst-libs/gst/audio/gstaudioaggregator.c index d126bb1..24b71b7 100644 --- a/gst-libs/gst/audio/gstaudioaggregator.c +++ b/gst-libs/gst/audio/gstaudioaggregator.c @@ -866,8 +866,9 @@ gst_audio_aggregator_queue_new_buffer (GstAudioAggregator * aagg, if (pad->priv->output_offset == -1) { GstClockTime start_running_time; GstClockTime end_running_time; - guint64 start_output_offset; - guint64 end_output_offset; + GstClockTime segment_pos; + guint64 start_output_offset = -1; + guint64 end_output_offset = -1; start_running_time = gst_segment_to_running_time (&aggpad->segment, @@ -877,20 +878,20 @@ gst_audio_aggregator_queue_new_buffer (GstAudioAggregator * aagg, GST_FORMAT_TIME, end_time); /* Convert to position in the output segment */ - start_output_offset = + segment_pos = gst_segment_position_from_running_time (&agg->segment, GST_FORMAT_TIME, start_running_time); - if (start_output_offset != -1) + if (GST_CLOCK_TIME_IS_VALID (segment_pos)) start_output_offset = - gst_util_uint64_scale (start_output_offset - agg->segment.start, rate, + gst_util_uint64_scale (segment_pos - agg->segment.start, rate, GST_SECOND); - end_output_offset = + segment_pos = gst_segment_position_from_running_time (&agg->segment, GST_FORMAT_TIME, end_running_time); - if (end_output_offset != -1) + if (GST_CLOCK_TIME_IS_VALID (segment_pos)) end_output_offset = - gst_util_uint64_scale (end_output_offset - agg->segment.start, rate, + gst_util_uint64_scale (segment_pos - agg->segment.start, rate, GST_SECOND); if (start_output_offset == -1 && end_output_offset == -1) { -- 2.7.4