## GstVideoBufferPool

GstVideoBufferPool — GstBufferPool for raw video buffers

## Functions

GstBufferPool * | gst_video_buffer_pool_new ()
gboolean | gst_buffer_pool_config_get_video_alignment ()
void | gst_buffer_pool_config_set_video_alignment ()

## Types and Values

struct | GstVideoBufferPool
struct | GstVideoBufferPoolClass
#define | GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT
#define | GST_BUFFER_POOL_OPTION_VIDEO_META

## Includes

    #include <gst/video/gstvideopool.h>

## Description

Special GstBufferPool subclass for raw video buffers.

Allows configuration of video-specific requirements such as stride alignments or pixel padding, and can also be configured to automatically add GstVideoMeta to the buffers.

## Functions

### gst_video_buffer_pool_new ()

    GstBufferPool *
    gst_video_buffer_pool_new (void);

Create a new bufferpool that can allocate video frames. This bufferpool supports all the video bufferpool options.

#### Returns

a new GstBufferPool to allocate video frames.

[transfer floating]

### gst_buffer_pool_config_get_video_alignment ()

    gboolean
    gst_buffer_pool_config_get_video_alignment
                                   (GstStructure *config,
                                    GstVideoAlignment *align);

Get the video alignment from the bufferpool configuration `config` in in `align`

#### Parameters

config | a GstStructure |
align | a GstVideoAlignment |

#### Returns

TRUE if `config` could be parsed correctly.

### gst_buffer_pool_config_set_video_alignment ()

    void
    gst_buffer_pool_config_set_video_alignment
                                   (GstStructure *config,
                                    GstVideoAlignment *align);

Set the video alignment in `align` to the bufferpool configuration `config`

#### Parameters

config | a GstStructure |
align | a GstVideoAlignment |

## Types and Values

### struct GstVideoBufferPool

    struct GstVideoBufferPool {
      GstBufferPool bufferpool;

      GstVideoBufferPoolPrivate *priv;
    };

### struct GstVideoBufferPoolClass

    struct GstVideoBufferPoolClass {
      GstBufferPoolClass parent_class;
    };

### GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT

    #define GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT "GstBufferPoolOptionVideoAlignment"

A bufferpool option to enable extra padding. When a bufferpool supports this option, `gst_buffer_pool_config_set_video_alignment()` can be called.

When this option is enabled on the bufferpool, GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.

### GST_BUFFER_POOL_OPTION_VIDEO_META

    #define GST_BUFFER_POOL_OPTION_VIDEO_META "GstBufferPoolOptionVideoMeta"

An option that can be activated on bufferpool to request video metadata on buffers from the pool.

## See Also

GstBufferPool