From bc6c1bbbaba337538fd9cbaa307d6233ee03db4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 11 Mar 2011 13:46:05 +0100 Subject: [PATCH] dvdemux: Fix refcount issues with the seek event Fixes bug #642963. --- ext/dv/gstdvdemux.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index c1ecd9261c..967c369c49 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -915,7 +915,7 @@ gst_dvdemux_handle_push_seek (GstDVDemux * dvdemux, GstPad * pad, /* First try if upstream can handle time based seeks */ if (format == GST_FORMAT_TIME) - res = gst_pad_push_event (dvdemux->sinkpad, event); + res = gst_pad_push_event (dvdemux->sinkpad, gst_event_ref (event)); if (!res) { /* we convert the start/stop on the srcpad to the byte format @@ -1153,8 +1153,10 @@ gst_dvdemux_send_event (GstElement * element, GstEvent * event) } else { GST_OBJECT_UNLOCK (dvdemux); - if (dvdemux->seek_handler) + if (dvdemux->seek_handler) { res = dvdemux->seek_handler (dvdemux, dvdemux->videosrcpad, event); + gst_event_unref (event); + } } break; }