dvbsuboverlay: Don't send flush events
authorEdward Hervey <edward@centricular.com>
Fri, 6 Nov 2015 15:16:32 +0000 (16:16 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 6 Nov 2015 19:29:49 +0000 (19:29 +0000)
It is up to the element handling the seek to send flush events
downstream, otherwise we end up with a situation where upstream
would get unexpected GST_FLOW_FLUSHING

gst/dvbsuboverlay/gstdvbsuboverlay.c

index 882bfa771db8229d9890a39904711528b63f6ae6..63599dbfa27c7cf5580a73b4dc2b575eeec2805d 100644 (file)
@@ -403,36 +403,9 @@ gst_dvbsub_overlay_event_src (GstPad * pad, GstObject * parent,
   GstDVBSubOverlay *render = GST_DVBSUB_OVERLAY (parent);
   gboolean ret = FALSE;
 
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_SEEK:{
-      GstSeekFlags flags;
-
-      GST_DEBUG_OBJECT (render, "seek received, driving from here");
-
-      gst_event_parse_seek (event, NULL, NULL, &flags, NULL, NULL, NULL, NULL);
-
-      /* Flush downstream, only for flushing seek */
-      if (flags & GST_SEEK_FLAG_FLUSH)
-        gst_pad_push_event (render->srcpad, gst_event_new_flush_start ());
-
-      gst_dvbsub_overlay_flush_subtitles (render);
-
-      /* Seek on each sink pad */
-      gst_event_ref (event);
-      ret = gst_pad_push_event (render->video_sinkpad, event);
-      if (ret) {
-        ret = gst_pad_push_event (render->text_sinkpad, event);
-      } else {
-        gst_event_unref (event);
-      }
-      break;
-    }
-    default:
-      gst_event_ref (event);
-      ret = gst_pad_push_event (render->video_sinkpad, event);
-      gst_pad_push_event (render->text_sinkpad, event);
-      break;
-  }
+  gst_event_ref (event);
+  ret = gst_pad_push_event (render->video_sinkpad, event);
+  gst_pad_push_event (render->text_sinkpad, event);
 
   return ret;
 }