Mention GstPushSrc

Original commit message from CVS:
Mention GstPushSrc
This commit is contained in:
Tim-Philipp Müller 2005-05-13 09:27:24 +00:00
parent 1c4ea6213b
commit 90e9e00bfc
2 changed files with 20 additions and 5 deletions

View file

@ -1,3 +1,8 @@
2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
* docs/design/part-element-source.txt:
Mention GstPushSrc
2005-05-12 Wim Taymans <wim@fluendo.com>
* gst/base/gstbasesink.c: (gst_basesink_init),

View file

@ -50,18 +50,28 @@ source's state change function is called.
Source base classes
-------------------
GstBaseSource:
GstBaseSrc:
This base class provides an implementation of a random access source and
is very well suited for file reader like sources.
GstPushSrc:
Base class for block-based sources. This class is mostly useful for
elements that cannot do random access, or at least very slowly. The
source usually prefers to push out a fixed size buffer.
Classes extending this base class will usually be scheduled in a push
based mode. It the peer accepts to operate without offsets and withing
the limits of the allowed block size, this class can operate in getrange
based mode automatically.
The subclass should extend the methods from the baseclass in
addition to the create method. If the source is seekable, it
needs to override GstBaseSrc::event() in addition to
GstBaseSrc::is_seekable() in order to retrieve the seek offset,
which is the offset of the next buffer to be requested.
Flushing, scheduling and sync is all handled by this base class.