diff options
| author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-07-17 13:42:49 +0200 | 
|---|---|---|
| committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-07-17 13:42:49 +0200 | 
| commit | 7ba6ef66725364b1ed72e77b25d3451dfb01f97c (patch) | |
| tree | 50bff2f1d662e858c2bb6f87b9579dec6a09e2c4 | |
| parent | 52f17631d99fff021f1320f25dc6607aaf65da43 (diff) | |
cairorender: Return not-negotiated if we have no caps
| -rw-r--r-- | ext/cairo/gstcairorender.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/cairo/gstcairorender.c b/ext/cairo/gstcairorender.c index 883945b1..060ec902 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  | 
