BufferList

Buffer lists are an object containing a list of buffers.

Buffer lists are created with gst.buffer_list.BufferList.new_ and filled with data using gst.buffer_list.BufferList.insert.

Buffer lists can be pushed on a srcpad with gst.pad.Pad.pushList. 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.

Constructors

this
this()

Creates a new, empty #GstBufferList.

Members

Functions

calculateSize
size_t calculateSize()

Calculates the size of the data contained in list by adding the size of all buffers.

copyDeep
gst.buffer_list.BufferList copyDeep()

Creates a copy of the given buffer list. This will make a newly allocated copy of the buffers that the source buffer list contains.

foreach_
bool foreach_(gst.types.BufferListFunc func)

Calls func with data for each buffer in list.

get
gst.buffer.Buffer get(uint idx)

Gets the buffer at idx.

getWritable
gst.buffer.Buffer getWritable(uint idx)

Gets the buffer at idx, ensuring it is a writable buffer.

insert
void insert(int idx, gst.buffer.Buffer buffer)

Inserts buffer at idx in list. Other buffers are moved to make room for this new buffer.

length
uint length()

Returns the number of buffers in list.

remove
void remove(uint idx, uint length)

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

Static functions

newSized
gst.buffer_list.BufferList newSized(uint size)

Creates a new, empty #GstBufferList. The list will have size space preallocated so that memory reallocations can be avoided.

Inherited Members

From Boxed

cInstancePtr
void* cInstancePtr;

Pointer to the C boxed value

getType
GType getType()

Get the GType of this boxed type.

gType
GType gType [@property getter]

Boxed GType property.

self
Boxed self()

Convenience method to return this cast to a type. For use in D with statements.

copy_
void* copy_()

Make a copy of the wrapped C boxed data.

boxedCopy
void* boxedCopy(void* cBoxed)

Copy a C boxed value using g_boxed_copy.

boxedFree
void boxedFree(void* cBoxed)

Free a C boxed value using g_boxed_free.