diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c index 957dea1d27..5f463bd5db 100644 --- a/gst-libs/gst/video/gstvideodecoder.c +++ b/gst-libs/gst/video/gstvideodecoder.c @@ -2179,6 +2179,9 @@ gst_video_decoder_chain_forward (GstVideoDecoder * decoder, g_return_val_if_fail (priv->packetized || klass->parse, GST_FLOW_ERROR); + if (GST_BUFFER_IS_DISCONT (buf)) + ret = gst_video_decoder_drain_out (decoder, FALSE); + if (priv->current_frame == NULL) priv->current_frame = gst_video_decoder_new_frame (decoder);