From 991730660c8b69daadbdca8cf1009a16b0bccc37 Mon Sep 17 00:00:00 2001 From: Laurent Glayal Date: Tue, 5 Jun 2007 13:41:54 +0000 Subject: [PATCH] ext/ffmpeg/gstffmpegscale.c: don't leak refcounts in event handler. Fixes #444332. Original commit message from CVS: Patch by: Laurent Glayal * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_handle_src_event): don't leak refcounts in event handler. Fixes #444332. --- ChangeLog | 7 +++++++ ext/ffmpeg/gstffmpegscale.c | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 789313ed64..5bd80463c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-06-05 Wim Taymans + + Patch by: Laurent Glayal + + * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_handle_src_event): + don't leak refcounts in event handler. Fixes #444332. + 2007-05-25 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (clip_video_buffer), diff --git a/ext/ffmpeg/gstffmpegscale.c b/ext/ffmpeg/gstffmpegscale.c index 0868907d4f..65ada28b9f 100644 --- a/ext/ffmpeg/gstffmpegscale.c +++ b/ext/ffmpeg/gstffmpegscale.c @@ -365,9 +365,12 @@ gst_ffmpegscale_transform (GstBaseTransform * trans, GstBuffer * inbuf, static gboolean gst_ffmpegscale_handle_src_event (GstPad * pad, GstEvent * event) { - GstFFMpegScale *scale = GST_FFMPEGSCALE (gst_pad_get_parent (pad)); + GstFFMpegScale *scale; GstStructure *structure; gdouble pointer; + gboolean res; + + scale = GST_FFMPEGSCALE (gst_pad_get_parent (pad)); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_NAVIGATION: @@ -390,7 +393,11 @@ gst_ffmpegscale_handle_src_event (GstPad * pad, GstEvent * event) break; } - return gst_pad_event_default (pad, event); + res = gst_pad_event_default (pad, event); + + gst_object_unref (scale); + + return res; } gboolean