diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index a610e2eb91..2754d01414 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -1758,14 +1758,9 @@ start_stepping (GstBaseSink * sink, GstSegment * segment, GST_DEBUG_OBJECT (sink, "step started at running_time %" GST_TIME_FORMAT, GST_TIME_ARGS (current->start)); - if (current->amount == -1) { - GST_DEBUG_OBJECT (sink, "step amount == -1, stop stepping"); - current->valid = FALSE; - } else { - GST_DEBUG_OBJECT (sink, "step amount: %" G_GUINT64_FORMAT ", format: %s, " - "rate: %f", current->amount, gst_format_get_name (current->format), - current->rate); - } + GST_DEBUG_OBJECT (sink, "step amount: %" G_GUINT64_FORMAT ", format: %s, " + "rate: %f", current->amount, gst_format_get_name (current->format), + current->rate); } static void @@ -1840,6 +1835,9 @@ handle_stepping (GstBaseSink * sink, GstSegment * segment, { gboolean step_end = FALSE; + if (current->amount == -1) + return TRUE; + /* see if we need to skip this buffer because of stepping */ switch (current->format) { case GST_FORMAT_TIME: