gst-plugins-good: dvdemux: Fix refcount issues with the seek event

Sebastian Dröge slomo at kemper.freedesktop.org
Fri Mar 11 04:48:41 PST 2011


Module: gst-plugins-good
Branch: master
Commit: bc6c1bbbaba337538fd9cbaa307d6233ee03db4b
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=bc6c1bbbaba337538fd9cbaa307d6233ee03db4b

Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date:   Fri Mar 11 13:46:05 2011 +0100

dvdemux: Fix refcount issues with the seek event

Fixes bug #642963.

---

 ext/dv/gstdvdemux.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c
index c1ecd92..967c369 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;
     }



More information about the gstreamer-commits mailing list