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.
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...",