diff --git a/gst-libs/gst/video/gstvideodecoder.c b/gst-libs/gst/video/gstvideodecoder.c index 4754aae595..f1e2c89d0b 100644 --- a/gst-libs/gst/video/gstvideodecoder.c +++ b/gst-libs/gst/video/gstvideodecoder.c @@ -2352,6 +2352,9 @@ gst_video_decoder_flush_parse (GstVideoDecoder * dec, gboolean at_eos) while (walk) { GstBuffer *buf = GST_BUFFER_CAST (walk->data); + priv->output_queued = + g_list_delete_link (priv->output_queued, priv->output_queued); + if (G_LIKELY (res == GST_FLOW_OK)) { /* avoid stray DISCONT from forward processing, * which have no meaning in reverse pushing */ @@ -2376,8 +2379,6 @@ gst_video_decoder_flush_parse (GstVideoDecoder * dec, gboolean at_eos) gst_buffer_unref (buf); } - priv->output_queued = - g_list_delete_link (priv->output_queued, priv->output_queued); walk = priv->output_queued; }