Mention GstPushSrc
authorTim-Philipp Müller <tim@centricular.net>
Fri, 13 May 2005 09:27:24 +0000 (09:27 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Fri, 13 May 2005 09:27:24 +0000 (09:27 +0000)
Original commit message from CVS:
Mention GstPushSrc

ChangeLog
docs/design/part-element-source.txt

index 620bede..643074d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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),
index 97c889a..fc929de 100644 (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.