:right-sidebar: True BufferList =================================================================== .. currentmodule:: gi.repository.Gst .. class:: BufferList(**kwargs) :no-contents-entry: :Constructors: :: new() -> Gst.BufferList new_sized(size:int) -> Gst.BufferList Constructors ------------ .. rst-class:: interim-class .. class:: BufferList :no-index: .. classmethod:: new() -> ~gi.repository.Gst.BufferList Creates a new, empty :obj:`~gi.repository.Gst.BufferList`. .. classmethod:: new_sized(size: int) -> ~gi.repository.Gst.BufferList Creates a new, empty :obj:`~gi.repository.Gst.BufferList`. The list will have ``size`` space preallocated so that memory reallocations can be avoided. :param size: an initial reserved size Methods ------- .. rst-class:: interim-class .. class:: BufferList :no-index: .. method:: calculate_size() -> int Calculates the size of the data contained in ``list`` by adding the size of all buffers. .. versionadded:: 1.14 .. method:: foreach(func: ~typing.Callable[[...], tuple[bool, ~gi.repository.Gst.Buffer]], *user_data: ~typing.Any) -> bool Calls ``func`` with ``data`` for each buffer in ``list``. ``func`` can modify the passed buffer pointer or its contents. The return value of ``func`` defines if this function returns or if the remaining buffers in the list should be skipped. :param func: a :obj:`~gi.repository.Gst.BufferListFunc` to call :param user_data: user data passed to ``func`` .. method:: get(idx: int) -> ~gi.repository.Gst.Buffer | None Gets the buffer at ``idx``. You must make sure that ``idx`` does not exceed the number of buffers available. :param idx: the index .. method:: get_writable(idx: int) -> ~gi.repository.Gst.Buffer | None Gets the buffer at ``idx``, ensuring it is a writable buffer. You must make sure that ``idx`` does not exceed the number of buffers available. .. versionadded:: 1.14 :param idx: the index .. method:: insert(idx: int, buffer: ~gi.repository.Gst.Buffer) -> None Inserts ``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. :param idx: the index :param buffer: a :obj:`~gi.repository.Gst.Buffer` .. method:: length() -> int Returns the number of buffers in ``list``. .. method:: remove(idx: int, length: int) -> None Removes ``length`` buffers starting from ``idx`` in ``list``. The following buffers are moved to close the gap. :param idx: the index :param length: the amount to remove