From 90e9e00bfc63eb27409b5b82f069add73b5c563b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 13 May 2005 09:27:24 +0000 Subject: [PATCH] Mention GstPushSrc Original commit message from CVS: Mention GstPushSrc --- ChangeLog | 5 +++++ docs/design/part-element-source.txt | 20 +++++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 620bede..643074d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-05-13 Tim-Philipp Müller + + * docs/design/part-element-source.txt: + Mention GstPushSrc + 2005-05-12 Wim Taymans * gst/base/gstbasesink.c: (gst_basesink_init), diff --git a/docs/design/part-element-source.txt b/docs/design/part-element-source.txt index 97c889a..fc929de 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. -- 2.7.4