flv: When passing seek event upstream, hold a ref.
authorJan Schmidt <jan@centricular.com>
Mon, 30 Mar 2015 13:20:13 +0000 (00:20 +1100)
committerJan Schmidt <jan@centricular.com>
Mon, 30 Mar 2015 13:20:48 +0000 (00:20 +1100)
In case upstream can't handle the seek, make sure we
keep a ref on the event to attempt to handle it ourselves.

gst/flv/gstflvdemux.c

index 9a6928f0229f614ef1e30a88b3d3508b693edefd..afa1490b3027fe34e668690e05f6244ecc424bbe 100644 (file)
@@ -3190,9 +3190,12 @@ gst_flv_demux_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:
       /* Try to push upstream first */
+      gst_event_ref (event);
       ret = gst_pad_push_event (demux->sinkpad, event);
-      if (ret)
+      if (ret) {
+        gst_event_unref (event);
         break;
+      }
       if (demux->random_access) {
         ret = gst_flv_demux_handle_seek_pull (demux, event, TRUE);
       } else {