mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-01 03:52:25 +00:00
523de1a9dc
Holding this lock on live source prevents the source from changing the caps in ::create() without risking a deadlock. This has consequences as the LIVE_LOCK was replacing the STREAM_LOCK in many situation. As a side effect: - We no longer need to unlock when doing play/pause as the LIVE_LOCK isn't held. We then let the create() call finish, but will block if the state have changed meanwhile. This has the benefit that wait_preroll() calls in subclass is no longer needed. - We no longer need to change the state to unlock, simplifying the set_flushing() interface - We need different handling for EOS depending if we are in push or pull mode. This patch also document the locking of each private class member and the locking order. https://bugzilla.gnome.org/show_bug.cgi?id=783301 |
||
---|---|---|
.. | ||
.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 | ||
gstflowcombiner.c | ||
gstflowcombiner.h | ||
gstindex.c | ||
gstindex.h | ||
gstmemindex.c | ||
gstpushsrc.c | ||
gstpushsrc.h | ||
gstqueuearray.c | ||
gstqueuearray.h | ||
gsttypefindhelper.c | ||
gsttypefindhelper.h | ||
Makefile.am | ||
meson.build | ||
README |
Base classes ------------ GstBaseSink FIXME: not much point making it operate in pull mode as a generic base class I guess...