summaryrefslogtreecommitdiff
path: root/docs/design/part-element-source.txt
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2005-05-13 09:27:24 +0000
committerTim-Philipp Müller <tim@centricular.net>2005-05-13 09:27:24 +0000
commit90e9e00bfc63eb27409b5b82f069add73b5c563b (patch)
treea182b36e30f0ce9de4a4bbf21cf08e65a0c8d400 /docs/design/part-element-source.txt
parent1c4ea6213b0dfe073c519a5eac8ccd6042cb30de (diff)
Mention GstPushSrc
Original commit message from CVS: Mention GstPushSrc
Diffstat (limited to 'docs/design/part-element-source.txt')
-rw-r--r--docs/design/part-element-source.txt20
1 files changed, 15 insertions, 5 deletions
diff --git a/docs/design/part-element-source.txt b/docs/design/part-element-source.txt
index 97c889a9fb..fc929de17b 100644
--- a/docs/design/part-element-source.txt
+++ b/docs/design/part-element-source.txt
@@ -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.