+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),
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.