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)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 8 Aug 2019 12:12:19 +0000 (13:12 +0100)
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 f4493404835d4c09396d38db683be9fa75bf510e..049554605a5721daa6829fa72eb04bb2d73c6d87 100644 (file)
@@ -672,6 +672,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 {