gstreamer/libs/gst/base
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
..
.gitignore Update a bunch of gitignores to clean up my git status output 2009-01-23 16:08:40 +00:00
base.h base: include flowcombiner header from base.h 2014-05-27 09:55:27 +01:00
gstadapter.c adapter: Check if meta transform_func is NULL before using it 2017-05-02 14:27:14 +03:00
gstadapter.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstbaseparse.c baseparse: sinkcaps can be NULL in default caps negotiation 2017-06-22 16:00:45 -04:00
gstbaseparse.h base: Export boxed type copy/free functions for the remaining types 2017-06-20 09:57:01 +03:00
gstbasesink.c gstbasesink: xref symbol in docs 2017-02-15 21:37:31 +01:00
gstbasesink.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstbasesrc.c basesrc: Don't hold LIVE_LOCK in create/alloc/fill 2017-06-29 10:51:33 -04:00
gstbasesrc.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstbasetransform.c basetransform: Check if meta transform_func is NULL before using it 2017-05-02 14:26:21 +03:00
gstbasetransform.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstbitreader-docs.h docs: align the comments correctly with the declaration in bitreader docs 2013-01-29 15:43:05 +00:00
gstbitreader.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstbitreader.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstbytereader-docs.h Fix FSF address 2012-11-03 20:44:48 +00:00
gstbytereader.c bytereader: fix peek value when scanning for 00 00 01 with non-0 offset 2017-02-22 11:07:24 +00:00
gstbytereader.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstbytewriter-docs.h docs: Fix typos in function/object descriptions 2013-12-07 17:11:12 +00:00
gstbytewriter.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstbytewriter.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstcollectpads.c gst: Don't ref_sink() GstObject subclasses in instance_init/constructor 2017-05-17 10:40:37 +03:00
gstcollectpads.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstdataqueue.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstdataqueue.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstflowcombiner.c base: Export boxed type copy/free functions for the remaining types 2017-06-20 09:57:01 +03:00
gstflowcombiner.h base: Export boxed type copy/free functions for the remaining types 2017-06-20 09:57:01 +03:00
gstindex.c Don't use deprecated g_object_newv() 2017-04-08 09:49:59 +01:00
gstindex.h index: mark two structs that don't have abi padding 2015-09-28 16:23:41 +02:00
gstmemindex.c Fix FSF address 2012-11-03 20:44:48 +00:00
gstpushsrc.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstpushsrc.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gstqueuearray.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gstqueuearray.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
gsttypefindhelper.c Port gtk-doc comments to their equivalent markdown syntax 2017-01-27 16:36:38 -03:00
gsttypefindhelper.h libs: base: mark symbols explicitly for export with GST_EXPORT 2017-05-15 23:13:53 +01:00
Makefile.am g-i: no need to load registry in g-i scanner 2017-05-04 21:59:48 +01:00
meson.build meson: A couple for GIR-generation fixes 2017-04-13 10:05:53 +01:00
README add short/long description docs to base classes add pushsrc to the docs remove consolidated doc fragments 2005-08-03 13:30:18 +00:00

Base classes
------------

GstBaseSink
  FIXME: not much point making it operate in pull mode as a generic
  base class I guess...