[gst-devel] requesting info on gst_pad_buffer_alloc mechanism

Andy Wingo wingo at pobox.com
Wed Feb 15 07:28:07 CET 2006

Hi Sameer,

[Please write in plain text, not HTML. Thanks.]

On Wed, 2006-02-15 at 19:28 +0530, Sameer Naik wrote:
> if i write a decoder that does not make a gst_pad_buffer_alloc() call
> on its source pad, does it mean that the buffer will not be allocated
> by the gst_xvimagesink_buffer_alloc function when the buffer is pushed
> on the pad ? 

gst_xvimagesink_buffer_alloc is a buffer_alloc function. buffer_alloc
functions get called when an upstream element does a
gst_pad_alloc_buffer(). If you do not gst_pad_alloc_buffer(), the
buffer_alloc function will not be called.

> now say while xvimagesink is processing...the decoder
> makes another gst_pad_alloc_call...what will happen here

This can only happen if there is a queue in between; if there is no
queue, there is only one thread, so either the sink or the decoder is
active, not both.

If there are two threads, the sink's processing is independent of
buffer_alloc. They have no relation.

Andy Wingo

More information about the gstreamer-devel mailing list