[gst-devel] difference between BaseSrc and PushSrc

Tim Müller t.i.m at zen.co.uk
Sat Dec 9 17:00:38 CET 2006

On Thu, 2006-11-30 at 17:26 +0100, Antoine Pitrou wrote:


> I'd like to know the exact difference between gst.BaseSrc and
> gst.PushSrc. The documentation is quite terse ("Seeking, flushing,
> scheduling and sync is all handled by this base class"), while it would
> be interesting to know the operational details.

PushSrc derives from BaseSrc and is the base class to use for sources
that cannot provide fast random (byte) access into the file/stream.
BaseSrc is the more comprehensive base source class that supports all
access modes. The C API docs should have some more details, check out


> For example: is a PushSrc run in its own thread (I suppose it is, since
> apparently the create() method can be blocking)?


> Does it mean that launching N PushSrc's will launch N different threads?


> What about scalability? Does it cooperate well with the Python GIL (Global
> Interpreter Lock)?

No idea, I'll leave that for others to answer.


More information about the gstreamer-devel mailing list