diff options
author | Edward Hervey <edward@centricular.com> | 2015-11-06 16:16:32 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-11-07 19:28:36 +0100 |
commit | bd8bd09411c8c4989212b49a5bcddc6e26ca65cb (patch) | |
tree | ed427a28d2b7eb9914ac2b0b6e42be69d5d31c44 | |
parent | dc892d0b2b44397c6b13560c71e277f1ee283e1b (diff) | |
download | gstreamer-plugins-bad-bd8bd09411c8c4989212b49a5bcddc6e26ca65cb.tar.gz |
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
-rw-r--r-- | gst/dvbsuboverlay/gstdvbsuboverlay.c | 33 |
1 files 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; } |