From cd9b0d71689e735ac363e70cc844345acccf6afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 15 Dec 2007 17:52:46 +0000 Subject: gst/videoparse/gstvideoparse.c: Free the adapter on dispose and correctly reset on newsegment events. Original commit message from CVS: * gst/videoparse/gstvideoparse.c: (gst_video_parse_dispose), (gst_video_parse_sink_event): Free the adapter on dispose and correctly reset on newsegment events. --- gst/videoparse/gstvideoparse.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gst/videoparse/gstvideoparse.c') diff --git a/gst/videoparse/gstvideoparse.c b/gst/videoparse/gstvideoparse.c index 36c59189..9e6958d5 100644 --- a/gst/videoparse/gstvideoparse.c +++ b/gst/videoparse/gstvideoparse.c @@ -337,7 +337,12 @@ gst_video_parse_init (GstVideoParse * vp, GstVideoParseClass * g_class) static void gst_video_parse_dispose (GObject * object) { - //GstVideoParse *vp = GST_VIDEO_PARSE (object); + GstVideoParse *vp = GST_VIDEO_PARSE (object); + + if (vp->adapter) { + g_object_unref (vp->adapter); + vp->adapter = NULL; + } G_OBJECT_CLASS (parent_class)->dispose (object); } @@ -725,6 +730,10 @@ gst_video_parse_sink_event (GstPad * pad, GstEvent * event) ret = gst_pad_push_event (vp->srcpad, event); } + + vp->n_frames = 0; + vp->discont = TRUE; + gst_adapter_clear (vp->adapter); break; } default: -- cgit v1.2.1