concat: Reset last_stop on FLUSH_STOP too
authorSebastian Dröge <sebastian@centricular.com>
Tue, 4 Jun 2019 14:55:30 +0000 (17:55 +0300)
committerNicolas Dufresne <nicolas@ndufresne.ca>
Wed, 5 Jun 2019 01:12:42 +0000 (01:12 +0000)
Otherwise when seeking backwards we would keep the last_stop at the last
position we saw until playback passed the seek position again, and if
switching to the next pad happens in the meantime we would set the wrong
offset in the outgoing segment.

plugins/elements/gstconcat.c

index 476fc0f..0671ede 100644 (file)
@@ -655,6 +655,7 @@ gst_concat_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
           GST_DEBUG_OBJECT (self,
               "resetting start offset to 0 after flushing with reset_time = TRUE");
           self->current_start_offset = 0;
+          self->last_stop = GST_CLOCK_TIME_NONE;
         }
         ret = gst_pad_event_default (pad, parent, event);
       } else {