avvidec: don't crash on EOS when no buffers have been received
authorTim-Philipp Müller <tim@centricular.com>
Fri, 21 Feb 2014 13:18:47 +0000 (13:18 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 21 Feb 2014 13:18:47 +0000 (13:18 +0000)
Fixes crash on EOS when no buffers have been received for some
reason, e.g. because the parser didn't output any.

fakesrc num-buffers=0 format=time ! avdec_h264 ! fakesink

ext/libav/gstavviddec.c

index b4edb36..01ca9de 100644 (file)
@@ -1475,6 +1475,9 @@ gst_ffmpegviddec_drain (GstFFMpegVidDec * ffmpegdec)
 {
   GstFFMpegVidDecClass *oclass;
 
+  if (!ffmpegdec->opened)
+    return;
+
   oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
 
   if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {