take_buffer_fast


Description:

[ Version ( since = "1.2" ) ]
public Buffer? take_buffer_fast (size_t nbytes)

Returns a Buffer containing the first nbytes of the this.

The returned bytes will be flushed from the adapter. This function is potentially more performant than take_buffer since it can reuse the memory in pushed buffers by subbuffering or merging. Unlike take_buffer, the returned buffer may be composed of multiple non-contiguous Memory 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 POOLED flag or with the "memory" tag.

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

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.