From 099ea5f2d1d37570ae55a50541a97071e1852b97 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 9 Mar 2015 22:02:19 +0100 Subject: [PATCH] avviddec: If a flow return during draining is not OK, don't drain any further --- ext/libav/gstavviddec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index e301905..4689d57 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -1460,16 +1460,14 @@ gst_ffmpegviddec_drain (GstFFMpegVidDec * ffmpegdec) if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) { gint have_data, len; + GstFlowReturn ret; GST_LOG_OBJECT (ffmpegdec, "codec has delay capabilities, calling until ffmpeg has drained everything"); do { - GstFlowReturn ret; - len = gst_ffmpegviddec_frame (ffmpegdec, NULL, 0, &have_data, NULL, &ret); - - } while (len >= 0 && have_data == 1); + } while (len >= 0 && have_data == 1 && ret == GST_FLOW_OK); avcodec_flush_buffers (ffmpegdec->context); } } -- 2.7.4