pngenc: ensure setcaps was called before chain function
authorRené Stadler <mail@renestadler.de>
Sun, 16 Oct 2011 18:05:28 +0000 (20:05 +0200)
committerRené Stadler <rene.stadler@collabora.co.uk>
Fri, 21 Oct 2011 08:26:20 +0000 (10:26 +0200)
This is needed to properly error out for e.g. "fakesrc ! pngenc ! fakesink".

ext/libpng/gstpngenc.c

index e59da9b..7bad037 100644 (file)
@@ -271,6 +271,11 @@ gst_pngenc_chain (GstPad * pad, GstBuffer * buf)
 
   GST_DEBUG_OBJECT (pngenc, "BEGINNING");
 
+  if (G_UNLIKELY (pngenc->width <= 0 || pngenc->height <= 0)) {
+    ret = GST_FLOW_NOT_NEGOTIATED;
+    goto done;
+  }
+
   if (G_UNLIKELY (GST_BUFFER_SIZE (buf) < pngenc->height * pngenc->stride)) {
     gst_buffer_unref (buf);
     GST_ELEMENT_ERROR (pngenc, STREAM, FORMAT, (NULL),