From: <tp...@ke...> - 2006-03-27 14:09:59
|
CVS Root: /cvs/gstreamer Module: gst-plugins-good Changes by: tpm Date: Mon Mar 27 2006 14:09:30 UTC Log message: * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_flush), (gst_gdk_pixbuf_event): Fix two crashers: don't unref the same caps twice, and set pixbuf loader to NULL after freeing it. Modified files: . : ChangeLog ext/gdk_pixbuf : gstgdkpixbuf.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-good/ChangeLog.diff?r1=1.2235&r2=1.2236 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-good/ext/gdk_pixbuf/gstgdkpixbuf.c.diff?r1=1.38&r2=1.39 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-good/ChangeLog,v retrieving revision 1.2235 retrieving revision 1.2236 diff -u -d -r1.2235 -r1.2236 --- ChangeLog 27 Mar 2006 14:00:01 -0000 1.2235 +++ ChangeLog 27 Mar 2006 14:09:18 -0000 1.2236 @@ -1,3 +1,10 @@ +2006-03-27 Tim-Philipp Müller <tim at centricular dot net> + + * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_flush), + (gst_gdk_pixbuf_event): + Fix two crashers: don't unref the same caps twice, and + set pixbuf loader to NULL after freeing it. 2006-03-27 Wim Taymans <wi...@fl...> * ext/speex/gstspeexenc.c: (gst_speexenc_class_init), Index: gstgdkpixbuf.c RCS file: /cvs/gstreamer/gst-plugins-good/ext/gdk_pixbuf/gstgdkpixbuf.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- gstgdkpixbuf.c 15 Mar 2006 16:17:10 -0000 1.38 +++ gstgdkpixbuf.c 27 Mar 2006 14:09:18 -0000 1.39 @@ -299,11 +299,10 @@ filter->image_size, GST_PAD_CAPS (filter->srcpad), &outbuf); if (ret != GST_FLOW_OK) { - GST_DEBUG ("Failed to create outbuffer - %d", ret); + GST_DEBUG ("Failed to create outbuffer - %s", gst_flow_get_name (ret)); return GST_FLOW_ERROR; } - gst_caps_unref (caps); caps = gst_pad_get_negotiated_caps (filter->srcpad); GST_DEBUG ("Caps negotiated %s", gst_caps_to_string (caps)); gst_caps_unref (caps); @@ -339,6 +338,7 @@ gdk_pixbuf_loader_close (pixbuf->pixbuf_loader, NULL); res = gst_gdk_pixbuf_flush (pixbuf); g_object_unref (G_OBJECT (pixbuf->pixbuf_loader)); + pixbuf->pixbuf_loader = NULL; break; case GST_EVENT_NEWSEGMENT: case GST_EVENT_FLUSH_STOP: |