mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 05:59:10 +00:00
adder: Call set_flushing(TRUE) for flushing seeks *when* the streaming is stopped.
This ensures that collectpads' cookie is properly updated so that when the streaming threads will restart and be checking for the flushing status of all pads there will be no inconsistent state.
This commit is contained in:
parent
04e23f2d6a
commit
c3adf88621
1 changed files with 5 additions and 1 deletions
|
@ -693,8 +693,12 @@ gst_adder_src_event (GstPad * pad, GstEvent * event)
|
|||
else
|
||||
adder->segment_position = 0;
|
||||
/* we flushed out the downstream segment, make sure we push a new one */
|
||||
if (flush)
|
||||
if (flush) {
|
||||
adder->segment_pending = TRUE;
|
||||
/* Yes, we need to call _set_flushing again *WHEN* the streaming threads
|
||||
* have stopped so that the cookie gets properly updated. */
|
||||
gst_collect_pads_set_flushing (adder->collect, TRUE);
|
||||
}
|
||||
/* we might have a pending flush_stop event now. This event will either be
|
||||
* sent by an upstream element when it completes the seek or we will push
|
||||
* one in the collected callback ourself */
|
||||
|
|
Loading…
Reference in a new issue