diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c index 2cc8c47879..2d3a558ddf 100644 --- a/gst/vaapi/gstvaapidecode.c +++ b/gst/vaapi/gstvaapidecode.c @@ -1001,9 +1001,13 @@ gst_vaapidecode_flush (GstVideoDecoder * vdec) { GstVaapiDecode *const decode = GST_VAAPIDECODE (vdec); - if (decode->decoder && !gst_vaapidecode_internal_flush (vdec)) + if (!decode->decoder) return FALSE; + GST_LOG_OBJECT (vdec, "flushing"); + + gst_vaapidecode_purge (decode); + /* There could be issues if we avoid the reset_full() while doing * seeking: we have to reset the internal state */ return gst_vaapidecode_reset_full (decode, decode->sinkpad_caps, TRUE);