gstreamer/libs/gst
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
..
base basesrc: Don't hold LIVE_LOCK in create/alloc/fill 2017-06-29 10:51:33 -04:00
check meson: check: generate .gir file 2017-05-20 17:58:21 +01:00
controller controller: Export boxed type copy/free functions for GstControlPoint 2017-06-20 10:00:16 +03:00
helpers Dist meson ptp helper install script 2017-05-20 16:44:50 +01:00
net ptp: Unref timeout GSource for delay requests 2017-06-16 17:57:35 +03: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