From: <tp...@ke...> - 2006-09-29 17:17:15
|
CVS Root: /cvs/gstreamer Module: gst-ffmpeg Changes by: tpm Date: Fri Sep 29 2006 17:17:13 UTC Log message: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Don't leak caps in some cases and make build bots happy again. Modified files: . : ChangeLog ext/ffmpeg : gstffmpegdec.c gstffmpegenc.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-ffmpeg/ChangeLog.diff?r1=1.327&r2=1.328 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegdec.c.diff?r1=1.165&r2=1.166 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegenc.c.diff?r1=1.90&r2=1.91 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-ffmpeg/ChangeLog,v retrieving revision 1.327 retrieving revision 1.328 diff -u -d -r1.327 -r1.328 --- ChangeLog 23 Sep 2006 12:00:15 -0000 1.327 +++ ChangeLog 29 Sep 2006 17:17:01 -0000 1.328 @@ -1,3 +1,9 @@ +2006-09-29 Tim-Philipp Müller <tim at centricular dot net> + + * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): + Don't leak caps in some cases and make build bots happy again. 2006-09-23 Edward Hervey <ed...@fl...> * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), Index: gstffmpegdec.c RCS file: /cvs/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegdec.c,v retrieving revision 1.165 retrieving revision 1.166 diff -u -d -r1.165 -r1.166 --- gstffmpegdec.c 21 Sep 2006 09:32:52 -0000 1.165 +++ gstffmpegdec.c 29 Sep 2006 17:17:01 -0000 1.166 @@ -2060,7 +2060,7 @@ while (in_plugin) { GstFFMpegDecClassParams *params; - GstCaps *srccaps, *sinkcaps; + GstCaps *srccaps = NULL, *sinkcaps = NULL; gchar *type_name; /* no quasi-codecs, please */ @@ -2088,13 +2088,8 @@ } else { srccaps = gst_ffmpeg_codectype_to_caps (in_plugin->type, NULL); } - if (!sinkcaps || !srccaps) { - if (sinkcaps) - gst_caps_unref (sinkcaps); - if (srccaps) - gst_caps_unref (srccaps); + if (!sinkcaps || !srccaps) goto next; - } /* construct the type */ type_name = g_strdup_printf ("ffdec_%s", in_plugin->name); @@ -2107,8 +2102,8 @@ params = g_new0 (GstFFMpegDecClassParams, 1); params->in_plugin = in_plugin; - params->srccaps = srccaps; - params->sinkcaps = sinkcaps; + params->srccaps = gst_caps_ref (srccaps); + params->sinkcaps = gst_caps_ref (sinkcaps); g_hash_table_insert (global_plugins, GINT_TO_POINTER (0), (gpointer) params); @@ -2156,6 +2151,10 @@ GINT_TO_POINTER (type), (gpointer) params); next: + if (sinkcaps) + gst_caps_unref (sinkcaps); + if (srccaps) + gst_caps_unref (srccaps); in_plugin = in_plugin->next; } g_hash_table_remove (global_plugins, GINT_TO_POINTER (0)); Index: gstffmpegenc.c RCS file: /cvs/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegenc.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- gstffmpegenc.c 6 Sep 2006 14:51:13 -0000 1.90 +++ gstffmpegenc.c 29 Sep 2006 17:17:01 -0000 1.91 @@ -910,7 +910,7 @@ GstFFMpegEncClassParams *params; /* no quasi codecs, please */ @@ -953,8 +953,8 @@ params = g_new0 (GstFFMpegEncClassParams, 1); g_hash_table_insert (enc_global_plugins, @@ -972,6 +972,10 @@ g_hash_table_remove (enc_global_plugins, GINT_TO_POINTER (0)); |