BufferList

Buffer lists are an object containing a list of buffers.

Buffer lists are created with gst_buffer_list_new() and filled with data using a gst_buffer_list_insert().

Buffer lists can be pushed on a srcpad with gst_pad_push_list(). This is interesting when multiple buffers need to be pushed in one go because it can reduce the amount of overhead for pushing each buffer individually.

Last reviewed on 2012-03-28 (0.11.3)

Constructors

this
this(GstBufferList* gstBufferList)

Sets our main struct and passes it to the parent class

this
this()

Creates a new, empty GstBufferList. The caller is responsible for unreffing the returned GstBufferList. Free-function: gst_buffer_list_unref

this
this(uint size)

Creates a new, empty GstBufferList. The caller is responsible for unreffing the returned GstBufferList. The list will have size space preallocated so that memory reallocations can be avoided. Free-function: gst_buffer_list_unref

Members

Functions

copy
BufferList copy()

Create a shallow copy of the given buffer list. This will make a newly allocated copy of the source list with copies of buffer pointers. The refcount of buffers pointed to will be increased by one.

doref
BufferList doref()

Increases the refcount of the given buffer list by one. Note that the refcount affects the writeability of list and its data, see gst_buffer_list_make_writable(). It is important to note that keeping additional references to GstBufferList instances can potentially increase the number of memcpy operations in a pipeline.

foreac
int foreac(GstBufferListFunc func, void* userData)

Call func with data for each buffer in list. func can modify the passed buffer pointer or its contents. The return value of func define if this function returns or if the remaining buffers in the list should be skipped.

get
Buffer get(uint idx)

Get the buffer at idx.

getBufferListStruct
GstBufferList* getBufferListStruct()
Undocumented in source. Be warned that the author may not have intended to support it.
getStruct
void* getStruct()

the main Gtk struct as a void*

insert
void insert(int idx, Buffer buffer)

Insert buffer at idx in list. Other buffers are moved to make room for this new buffer. A -1 value for idx will append the buffer at the end.

length
uint length()

Returns the number of buffers in list.

remove
void remove(uint idx, uint length)

Remove length buffers starting from idx in list. The following buffers are moved to close the gap.

unref
void unref()

Decreases the refcount of the buffer list. If the refcount reaches 0, the buffer list will be freed.

Variables

gstBufferList
GstBufferList* gstBufferList;

the main Gtk struct

Meta