tsdemux: fix truncated output segment when seeking with a stop
authorMathieu Duponchelle <mathieu@centricular.com>
Wed, 21 Apr 2021 19:43:59 +0000 (21:43 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 21 Apr 2021 21:40:26 +0000 (21:40 +0000)
In disabling the stop adjustment for negative rates in
03031037fafd2d535bbefb1fdf6024b5d1159043 , two instructions
were inverted resulting in the stop always being adjusted by
0

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2182>

gst/mpegtsdemux/tsdemux.c

index 2f932c9..3198876 100644 (file)
@@ -2616,10 +2616,9 @@ calculate_and_push_newsegment (GstTSDemux * demux, TSDemuxStream * stream,
   } else if (base->out_segment.start < firstts) {
     /* Take into account the offset to the first buffer timestamp */
     if (base->out_segment.rate > 0) {
-      base->out_segment.start = firstts;
-
       if (GST_CLOCK_TIME_IS_VALID (base->out_segment.stop))
         base->out_segment.stop += firstts - base->out_segment.start;
+      base->out_segment.start = firstts;
       base->out_segment.position = firstts;
     }
   }