# Video APIs
Source: [https://docs.qualcomm.com/doc/80-70018-50/topic/video-apis.html](https://docs.qualcomm.com/doc/80-70018-50/topic/video-apis.html)
Use the video APIs to configure the video buffers and video converter.
## GstImageBufferPool APIs
- Configure it to add [GstVideoMeta](https://gstreamer.freedesktop.org/documentation/video/gstvideometa.html#GstVideoMeta) to the buffers.
- Configure video-specific requirements:
- Stride alignments or pixel padding
- Type of memory management (GBM/ION).
Figure : GstImageBufferPool workflow

The following list provides the GstImageBufferPool API description:
- **Prototype**
Creates a buffer pool that can assign the video frame
buffers to
memory.
GstBufferPool *
gst_image_buffer_pool_new (const gchar * type)Copy to clipboard
- **Parameters**
| [in] | `type` | The memory that the pool uses to assign
buffers. |
| :--- | :--- | :--- |
- **Returns**
- A new [GstBufferPool](https://gstreamer.freedesktop.org/documentation/gstreamer/gstbufferpool.html?gi-language=c) that
allocates the video frames.
- Free with [gst_object_unref](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html#gst_object_unref).
- **Arguments**
The following arguments can be passed to
gst\_image\_buffer\_pool\_new() to configure the
buffer memories: | Argument | Description | Usage |
| --- | --- | --- |
| GST\_IMAGE\_BUFFER\_POOL\_TYPE\_ION | Assigns buffers through the ION memory
manager. | #define GST_IMAGE_BUFFER_POOL_TYPE_ION "GstBufferPoolTypeIonMemory"Copy to clipboard |
| GST\_IMAGE\_BUFFER\_POOL\_TYPE\_GBM | Assigns buffers through the generic buffer management
(GBM). | #define GST_IMAGE_BUFFER_POOL_TYPE_GBM "GstBufferPoolTypeGbmMemory"Copy to clipboard |
| GST\_IMAGE\_BUFFER\_POOL\_OPTION\_UBWC\_MODE | Indicates that the allocated buffer must be in
Qualcomm^®^ Universal Bandwidth Compression
mode. | #define GST_IMAGE_BUFFER_POOL_OPTION_UBWC_MODE "GstBufferPoolOptionUBWCMode"Copy to clipboard |
| GST\_IMAGE\_BUFFER\_POOL\_OPTION\_KEEP\_MAPPED | Indicates if the mapped buffer memory is mapped until
the memory is destroyed. | #define GST_IMAGE_BUFFER_POOL_OPTION_KEEP_MAPPED "GstBufferPoolOptionKeepMapped"Copy to clipboard |
## GstGlesVideoConverter APIs
Figure : Hardware-accelerated image manipulation, transformation, and color conversion

The following list provides information on each of the GstGlesVideoConverter
APIs:
- **gst\_gles\_video\_converter\_new**
Creates a GstGlesVideoConverter.
**Prototype**
GstGlesVideoConverter *
gst_gles_video_converter_new (void)Copy to clipboard
**Returns**
A new
GstGlesVideoConverter, free with
gst\_gles\_video\_converter\_free().
- gst\_gles\_video\_converter\_free: Releases all resources held by the converter and
frees the memory associated with
it.
**Prototype**
void
gst_gles_video_converter_free (GstGlesVideoConverter * convert)Copy to clipboard
**Parameters**
| [in] | `convert` | A GstGlesVideoConverter |
| :--- | :--- | :--- |
**Returns**
None
- **gst\_gles\_video\_converter\_submit\_request**
Submits a number of video
compositions that are executed
together.
**Prototype**
gpointer
gst_gles_video_converter_submit_request (GstGlesVideoConverter *convert, GstGlesComposition * compositions, guint n_compositions)Copy to clipboard
**Parameters**
| [in] | `convert` | A GstGlesVideoConverter |
| :--- | :--- | :--- |
| [in] | `compositions` | An array of composition frames |
| [in] | `n_compositions` | Number of compositions |
**Returns**
A unique pointer request ID if the operation was
successful.
- **gst\_gles\_video\_converter\_wait\_request**
Waits for the requests that have
been submitted to GPU compositions to
finish.
**Prototype**
gboolean
gst_gles_video_converter_wait_request (GstGlesVideoConverter *convert, gpointer request_id)Copy to clipboard
**Parameters**
| [in] | `convert` | A GstGlesVideoConverter |
| :--- | :--- | :--- |
| [in] | `request_id` | Specifies the request ID |
**Returns**
TRUE if the operation was successful.
- **gst\_gles\_video\_converter\_flush**
Waits for the compositions that have
been submitted to GPU to finish and flush the
data.
**Prototype**
void
gst_gles_video_converter_flush (GstGlesVideoConverter *convert)Copy to clipboard
**Parameters**
| [in] | `convert` | A GstGlesVideoConverter |
| :--- | :--- | :--- |
**Returns**
None
**Parent Topic:** [GSt APIs](https://docs.qualcomm.com/doc/80-70018-50/topic/gst-apis.html)
Last Published: Jan 30, 2026
[Previous Topic
GSt APIs](https://docs.qualcomm.com/bundle/publicresource/80-70018-50/topics/gst-apis.md) [Next Topic
Machine learning APIs](https://docs.qualcomm.com/bundle/publicresource/80-70018-50/topics/machine-learning-apis.md)