# Video APIs
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**
| 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
Last Published: Mar 26, 2026
[Previous Topic
GSt APIs](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-apis.md) [Next Topic
Machine learning APIs](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/machine-learning-apis.md)