From bd8bd09411c8c4989212b49a5bcddc6e26ca65cb Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Fri, 6 Nov 2015 16:16:32 +0100 Subject: dvbsuboverlay: Don't send flush events 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 | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c index 882bfa771..63599dbfa 100644 --- a/gst/dvbsuboverlay/gstdvbsuboverlay.c +++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c @@ -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; } -- cgit v1.2.1