Object Hierarchy:

Gst.BufferPool Gst.BufferPool Gst.BufferPool Gst.Object Gst.Object Gst.Object->Gst.BufferPool GLib.InitiallyUnowned GLib.InitiallyUnowned GLib.InitiallyUnowned->Gst.Object GLib.Object GLib.Object GLib.Object->GLib.InitiallyUnowned


[ CCode ( type_id = "gst_buffer_pool_get_type ()" ) ]
public class BufferPool : Object

A BufferPool is an object that can be used to pre-allocate and recycle buffers of the same size and with the same properties.

A BufferPool is created with BufferPool.

Once a pool is created, it needs to be configured. A call to get_config returns the current configuration structure from the pool. With config_set_params and config_set_allocator the bufferpool parameters and allocator can be configured. Other properties can be configured in the pool depending on the pool implementation.

A bufferpool can have extra options that can be enabled with config_add_option. The available options can be retrieved with get_options. Some options allow for additional configuration properties to be set.

After the configuration structure has been configured, set_config updates the configuration in the pool. This can fail when the configuration structure is not accepted.

After the pool has been configured, it can be activated with set_active . This will preallocate the configured resources in the pool.

When the pool is active, acquire_buffer can be used to retrieve a buffer from the pool.

Buffers allocated from a bufferpool will automatically be returned to the pool with release_buffer when their refcount drops to 0.

The bufferpool can be deactivated again with set_active. All further acquire_buffer calls will return an error. When all buffers are returned to the pool they will be freed.

Namespace: Gst
Package: gstreamer-1.0


Static methods:

Creation methods:



Inherited Members: