From 6ac79da6a2cceceda8130dbb3f6f979a97ee4aa3 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Sat, 4 Mar 2017 00:18:07 +1100 Subject: [PATCH] videodecoder: Restrict frame timestamp guessing in reverse mode Don't guess a timestamp of the start of the segment when running in reverse mode, as more likely it means we're discontinuous somewhere in the middle of the segment, and we'll fix up timestamps once the frames are decoded and reversed. --- gst-libs/gst/video/gstvideodecoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c index 19898f5b31..8e2a623615 100644 --- a/gst-libs/gst/video/gstvideodecoder.c +++ b/gst-libs/gst/video/gstvideodecoder.c @@ -2773,7 +2773,7 @@ gst_video_decoder_prepare_finish_frame (GstVideoDecoder * if (frame->duration != GST_CLOCK_TIME_NONE) { if (GST_CLOCK_TIME_IS_VALID (priv->last_timestamp_out)) frame->pts = priv->last_timestamp_out + frame->duration; - else + else if (decoder->output_segment.rate > 0.0) frame->pts = decoder->output_segment.start; GST_LOG_OBJECT (decoder, "Guessing timestamp %" GST_TIME_FORMAT " for frame...",