take_buffer


Description:

public Buffer? take_buffer (size_t nbytes)

Returns a Buffer containing the first nbytes bytes of the this.

The returned bytes will be flushed from the adapter. This function is potentially more performant than take since it can reuse the memory in pushed buffers by subbuffering or merging. This function will always return a buffer with a single memory region.

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.

Since 1.6 this will also copy over all GstMeta of the input buffers except for meta with the POOLED flag or with the "memory" tag.

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

Free-function: gst_buffer_unref

Parameters:

this

a Adapter

nbytes

the number of bytes to take

Returns:

a Buffer containing the first nbytes of the adapter, or null if nbytes bytes are not available. gst_buffer_unref when no longer needed.