From: Tim-Philipp Müller Date: Tue, 6 Dec 2011 21:57:32 +0000 (+0000) Subject: videorate: don't leak previous buffer when shutting down X-Git-Tag: 1.19.3~511^2~6555^2~238 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=99c7a519088cf441a2fe536e652fe1018bb74098;p=platform%2Fupstream%2Fgstreamer.git videorate: don't leak previous buffer when shutting down Implement stop vfunc after port to basetransform, so we can clean up properly. Fixes make elements/videorate.valgrind --- diff --git a/gst/videorate/gstvideorate.c b/gst/videorate/gstvideorate.c index 98fc92e..e4ba16c 100644 --- a/gst/videorate/gstvideorate.c +++ b/gst/videorate/gstvideorate.c @@ -147,6 +147,7 @@ static GstFlowReturn gst_video_rate_transform_ip (GstBaseTransform * trans, GstBuffer * buf); static gboolean gst_video_rate_start (GstBaseTransform * trans); +static gboolean gst_video_rate_stop (GstBaseTransform * trans); static void gst_video_rate_set_property (GObject * object, @@ -195,6 +196,7 @@ gst_video_rate_class_init (GstVideoRateClass * klass) GST_DEBUG_FUNCPTR (gst_video_rate_prepare_output_buffer); base_class->event = GST_DEBUG_FUNCPTR (gst_video_rate_event); base_class->start = GST_DEBUG_FUNCPTR (gst_video_rate_start); + base_class->stop = GST_DEBUG_FUNCPTR (gst_video_rate_stop); base_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_video_rate_fixate_caps); base_class->query = GST_DEBUG_FUNCPTR (gst_video_rate_query); @@ -1175,6 +1177,13 @@ gst_video_rate_start (GstBaseTransform * trans) return TRUE; } +static gboolean +gst_video_rate_stop (GstBaseTransform * trans) +{ + gst_video_rate_reset (GST_VIDEO_RATE (trans)); + return TRUE; +} + static void gst_video_rate_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)