gstreamer/libs
Nicolas Dufresne 523de1a9dc basesrc: Don't hold LIVE_LOCK in create/alloc/fill
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
2017-06-29 10:51:33 -04:00
..
gst basesrc: Don't hold LIVE_LOCK in create/alloc/fill 2017-06-29 10:51:33 -04:00
Makefile.am Remove obsolete Android build cruft 2015-04-26 17:49:44 +01:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-19 21:26:14 +01:00