mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-16 04:54:12 +00:00
adder: only send flush_stop when seek failed
This is still not the ultimate fix. Added some comment to explain the troubles.
This commit is contained in:
parent
c68a361e31
commit
4228ba0c6b
1 changed files with 9 additions and 2 deletions
|
@ -672,13 +672,20 @@ gst_adder_src_event (GstPad * pad, GstEvent * event)
|
|||
else
|
||||
adder->segment_position = 0;
|
||||
adder->segment_pending = TRUE;
|
||||
adder->flush_stop_pending =
|
||||
((flags & GST_SEEK_FLAG_FLUSH) == GST_SEEK_FLAG_FLUSH);
|
||||
GST_OBJECT_UNLOCK (adder->collect);
|
||||
GST_DEBUG_OBJECT (adder, "forwarding seek event: %" GST_PTR_FORMAT,
|
||||
event);
|
||||
|
||||
result = forward_event (adder, event);
|
||||
if (result) {
|
||||
/* seek failed. maybe source is a live source. send a flush_stop
|
||||
* FIXME: ideally we just forward flush event, but live sources don't
|
||||
* send anything and we need a flush events to unlock the collect
|
||||
* function
|
||||
*/
|
||||
adder->flush_stop_pending =
|
||||
((flags & GST_SEEK_FLAG_FLUSH) == GST_SEEK_FLAG_FLUSH);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GST_EVENT_QOS:
|
||||
|
|
Loading…
Reference in a new issue