Adapter.takeBufferFast

Returns a #GstBuffer containing the first @nbytes of the @adapter. The returned bytes will be flushed from the adapter. This function is potentially more performant than gst_adapter_take_buffer() since it can reuse the memory in pushed buffers by subbuffering or merging. Unlike gst_adapter_take_buffer(), the returned buffer may be composed of multiple non-contiguous #GstMemory objects, no copies are made.

Note that no assumptions should be made as to whether certain buffer flags such as the DISCONT flag are set on the returned buffer, or not. The caller needs to explicitly set or unset flags that should be set or unset.

This will also copy over all GstMeta of the input buffers except for meta with the %GST_META_FLAG_POOLED flag or with the "memory" tag.

This function can return buffer up to the return value of gst_adapter_available() without making copies if possible.

Caller owns a reference to the returned buffer. gst_buffer_unref() after usage.

Free-function: gst_buffer_unref

class Adapter
takeBufferFast
(
size_t nbytes
)

Parameters

nbytes size_t

the number of bytes to take

Return Value

Type: Buffer

a #GstBuffer containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available. gst_buffer_unref() when no longer needed.

Meta