Sets our main struct and passes it to the parent class.
Creates a new, empty #GstBufferList. The caller is responsible for unreffing the returned #GstBufferList.
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.
Calculates the size of the data contained in buffer list by adding the size of all buffers.
Create a copy of the given buffer list. This will make a newly allocated copy of the buffer that the source buffer list contains.
Call @func with @data for each buffer in @list.
Get the buffer at @idx.
Get the main Gtk struct
the main Gtk struct as a void*
Gets the buffer at @idx, ensuring it is a writable buffer.
Insert @buffer at @idx in @list. Other buffers are moved to make room for this new buffer.
Returns the number of buffers in @list.
Remove @length buffers starting from @idx in @list. The following buffers are moved to close the gap.
the main Gtk struct
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.