From: Sebastian Dröge Date: Fri, 17 Jul 2009 11:42:49 +0000 (+0200) Subject: cairorender: Return not-negotiated if we have no caps X-Git-Tag: RELEASE-0.10.16~322 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ba6ef66725364b1ed72e77b25d3451dfb01f97c;p=platform%2Fupstream%2Fgst-plugins-good.git cairorender: Return not-negotiated if we have no caps --- diff --git a/ext/cairo/gstcairorender.c b/ext/cairo/gstcairorender.c index 883945b..060ec90 100644 --- a/ext/cairo/gstcairorender.c +++ b/ext/cairo/gstcairorender.c @@ -117,6 +117,9 @@ gst_cairo_render_chain (GstPad * pad, GstBuffer * buf) cairo_surface_t *s; gboolean success; + if (G_UNLIKELY (c->width <= 0 || c->height <= 0 || c->stride <= 0)) + return GST_FLOW_NOT_NEGOTIATED; + if (c->png) { GST_BUFFER_OFFSET (buf) = 0; s = cairo_image_surface_create_from_png_stream (read_buffer, buf); @@ -278,6 +281,7 @@ gst_cairo_render_init (GstCairoRender * c, GstCairoRenderClass * klass) c->width = 0; c->height = 0; + c->stride = 0; } static void