gstreamer/libs/gst
Mathieu Duponchelle c79e5bbcad collectpads: Use private pad list in set_flushing_unlocked
pads->data is the public list. It is dynamically rebuilt at each call to
check_collected, in check_pads to be specific. When you add a pad and
collectpads have been started, it is not added to the public list.

Thus there exists a possible race where :

1) You would add a pad to collectpads while running.
2) You set collectpads to flushing before check_collected has been called again
-> the pad is not set to flushing
3) the pad starts pushing data as downstream might not be prepared, in the case
of adder it then returns FLOW_FLUSHING.
4) elements like demuxers, when they get a FLOW_FLUSHING, stop their tasks,
never to be seen again.

https://bugzilla.gnome.org/show_bug.cgi?id=708636
2013-09-24 10:44:34 +02:00
..
base collectpads: Use private pad list in set_flushing_unlocked 2013-09-24 10:44:34 +02:00
check tests: handle unscheduled entries correctly 2013-09-23 11:47:14 +02:00
controller controlbindings: fix pspec relaxation for control source properties 2013-09-10 16:41:30 +01:00
helpers Fix FSF address 2012-11-03 20:44:48 +00:00
net timeprovider: g-i: allow None as address for gst_net_time_provider_new() 2013-07-16 14:48:18 +01:00
Makefile.am dist net directory only once 2012-03-21 12:10:21 +01:00