From: <wt...@ke...> - 2008-09-24 15:04:10
|
CVS Root: /cvs/gstreamer Module: gstreamer Changes by: wtay Date: Wed Sep 24 2008 15:03:55 UTC Log message: * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer): Take new caps ref because our old one might have been gone when the subclass performs a gst_pad_set_caps() on the srcpad. See #548764. Modified files: . : ChangeLog libs/gst/base : gstbasetransform.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.4063&r2=1.4064 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/libs/gst/base/gstbasetransform.c.diff?r1=1.123&r2=1.124 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.4063 retrieving revision 1.4064 diff -u -d -r1.4063 -r1.4064 --- ChangeLog 16 Sep 2008 15:35:04 -0000 1.4063 +++ ChangeLog 24 Sep 2008 15:03:38 -0000 1.4064 @@ -1,3 +1,10 @@ +2008-09-24 Wim Taymans <wim...@co...> + + * libs/gst/base/gstbasetransform.c: + (gst_base_transform_prepare_output_buffer): + Take new caps ref because our old one might have been gone when the + subclass performs a gst_pad_set_caps() on the srcpad. See #548764. 2008-09-15 Stefan Kost <en...@us...> * configure.ac: Index: gstbasetransform.c RCS file: /cvs/gstreamer/gstreamer/libs/gst/base/gstbasetransform.c,v retrieving revision 1.123 retrieving revision 1.124 diff -u -d -r1.123 -r1.124 --- gstbasetransform.c 20 Aug 2008 10:52:08 -0000 1.123 +++ gstbasetransform.c 24 Sep 2008 15:03:40 -0000 1.124 @@ -1117,6 +1117,10 @@ bclass->prepare_output_buffer (trans, in_buf, outsize, oldcaps, out_buf); + /* get a new ref to the srcpad caps, the prepare_output_buffer function can + * update the pad caps if it wants */ + oldcaps = GST_PAD_CAPS (trans->srcpad); /* FIXME 0.11: * decrease refcount again if vmethod returned refcounted in_buf. This * is because we need to make sure that the buffer is writable for the |