mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 11:32:38 +00:00
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
This commit is contained in:
parent
734d5a79c5
commit
1a1bfb19d4
1 changed files with 3 additions and 30 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue