scaletempo: Correctly handle newsegment events with stop==-1
authorChris E Jones <chris@chrisejones.com>
Tue, 22 Mar 2011 12:46:42 +0000 (13:46 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Fri, 14 Dec 2012 13:16:16 +0000 (13:16 +0000)
Fixes bug #645420.

gst/audiofx/gstscaletempo.c

index 5f64b41..ba82a85 100644 (file)
@@ -554,8 +554,13 @@ gst_scaletempo_sink_event (GstBaseTransform * trans, GstEvent * event)
       applied_rate = priv->scale;
       rate = 1.0;
       //gst_event_unref (event);
+
+      if (stop != -1) {
+        stop = (stop - start) / applied_rate + start;
+      }
+
       event = gst_event_new_new_segment_full (update, rate, applied_rate,
-          format, start, (stop - start) / applied_rate + start, position);
+          format, start, stop, position);
       gst_pad_push_event (GST_BASE_TRANSFORM_SRC_PAD (trans), event);
       return FALSE;
     }