diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c index 84f26c3ba3..0ac3661046 100644 --- a/gst/mpegtsdemux/tsdemux.c +++ b/gst/mpegtsdemux/tsdemux.c @@ -2507,9 +2507,11 @@ calculate_and_push_newsegment (GstTSDemux * demux, TSDemuxStream * stream, GstSegment *seg = &base->out_segment; GstClockTime base = seg->base + seg->position - (seg->start + seg->offset); + GstClockTime stop = seg->stop; + gst_segment_init (seg, GST_FORMAT_TIME); seg->start = firstts; - seg->stop = GST_CLOCK_TIME_NONE; + seg->stop = MAX (seg->start, stop); seg->position = firstts; seg->time = firstts; seg->rate = demux->rate;