videodecoder: Reset QoS time after pushing segment
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 1 Mar 2018 04:12:39 +0000 (23:12 -0500)
committerOlivier CrĂȘte <olivier.crete@collabora.com>
Thu, 1 Mar 2018 16:19:31 +0000 (11:19 -0500)
This fixes playbin gapless playback. An ancient QoS time was used and
would lead to all frames being dropped.

https://bugzilla.gnome.org/show_bug.cgi?id=668995

gst-libs/gst/video/gstvideodecoder.c

index 4d20a0e..a003082 100644 (file)
@@ -845,6 +845,7 @@ gst_video_decoder_push_event (GstVideoDecoder * decoder, GstEvent * event)
       decoder->priv->in_out_segment_sync =
           gst_segment_is_equal (&decoder->input_segment, &segment);
       decoder->priv->last_timestamp_out = GST_CLOCK_TIME_NONE;
+      decoder->priv->earliest_time = GST_CLOCK_TIME_NONE;
       GST_VIDEO_DECODER_STREAM_UNLOCK (decoder);
       break;
     }