GstVideoPool

GstVideoPool — GstBufferPool for raw video buffers

Synopsis

#include <gst/video/gstvideopool.h>

struct              GstVideoBufferPool;
struct              GstVideoBufferPoolClass;
GstBufferPool *     gst_video_buffer_pool_new           (void);
gboolean            gst_buffer_pool_config_get_video_alignment
                                                        (GstStructure *config,
                                                         GstVideoAlignment *align);
void                gst_buffer_pool_config_set_video_alignment
                                                        (GstStructure *config,
                                                         GstVideoAlignment *align);
#define             GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT
#define             GST_BUFFER_POOL_OPTION_VIDEO_META

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.

Details

struct GstVideoBufferPool

struct GstVideoBufferPool {
  GstBufferPool bufferpool;

  GstVideoBufferPoolPrivate *priv;
};

struct GstVideoBufferPoolClass

struct GstVideoBufferPoolClass {
  GstBufferPoolClass parent_class;
};

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

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

config :

a GstStructure

align :

a GstVideoAlignment

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