mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
c79e5bbcad
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 |
||
---|---|---|
.. | ||
.gitignore | ||
base.h | ||
gstadapter.c | ||
gstadapter.h | ||
gstbaseparse.c | ||
gstbaseparse.h | ||
gstbasesink.c | ||
gstbasesink.h | ||
gstbasesrc.c | ||
gstbasesrc.h | ||
gstbasetransform.c | ||
gstbasetransform.h | ||
gstbitreader-docs.h | ||
gstbitreader.c | ||
gstbitreader.h | ||
gstbytereader-docs.h | ||
gstbytereader.c | ||
gstbytereader.h | ||
gstbytewriter-docs.h | ||
gstbytewriter.c | ||
gstbytewriter.h | ||
gstcollectpads.c | ||
gstcollectpads.h | ||
gstdataqueue.c | ||
gstdataqueue.h | ||
gstindex.c | ||
gstindex.h | ||
gstmemindex.c | ||
gstpushsrc.c | ||
gstpushsrc.h | ||
gstqueuearray.c | ||
gstqueuearray.h | ||
gsttypefindhelper.c | ||
gsttypefindhelper.h | ||
Makefile.am | ||
README |
Base classes ------------ GstBaseSink FIXME: not much point making it operate in pull mode as a generic base class I guess...