# qtiqmmfsrc Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) The qtiqmmfsrc plugin captures the video frames through Qualcomm Camera Service. The plugin has the GstQtiQmmfSrc main class that acts as a wrapper on top of the Qualcomm multimedia framework (QMMF) recorder client with separate pads for video and image streams. - The pads store the creation time parameters (passed as GstCaps during pipeline creation) for the particular stream. - The GstQtiQmmfSrc takes that information, translates it to the QMMF recorder client parameters, and calls the necessary APIs on each state transition of the element. - For video and image pads, set the camera device ID through the `camera` property. By default, this ID is 0. The following are the transition states of the plugin: - During the transition between the NULL and READY states, the plugin opens and initializes the camera device with the specified ID. - When transitioning to PAUSED state from READY, the plugin translates the set pad parameters and makes calls to the QMMF service to create the source streams for each pad. - The session streams are started when transition is done to the PLAYING state. While the plugin receives a frame in the main class, it creates a GstBuffer and sends it to the relevant pad buffer queue. The pad pushes the buffer to its linked sink pad from the next plugin. The QMMF service does the following: - It assigns the buffers. The plugin returns the buffers to the service when they're no longer in use. - For video, the QMMF service sends the buffers when the plugin state is PLAYING. - For image pad, a *capture-image* signal must be sent. For each capture-image, the QMMF service sends a single buffer. ## Inheritance chain [GObject](https://docs.gtk.org/gobject/) → [GstObject](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html?gi-language=c) → [GstElement](https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c) → GstQmmfSrc The following tables provide information on pad templates and element properties of qtiqmmfsrc. For use cases, see [Camera](https://docs.qualcomm.com/doc/80-70022-50/topic/camera.html). ## Pad configuration | Pad Name | Capabilities | Capabilities | Capabilities | | --- | --- | --- | --- | | SRC template: 'image\_%u'
| image/jpeg | | [ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 30/1 ] | | SRC template: 'image\_%u'
| video/x-raw | format:



width:



height:



framerate: | { (string)NV12, (string)NV21 }



[ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 30/1 ] | | SRC template: 'image\_%u'
| video/x-raw(memory:GBM) | format:



width:



height:



framerate: | { (string)NV12, (string)NV21 }



[ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 30/1 ] | | SRC template: 'image\_%u'
| video/x-bayer | format:



bpp:



width:



height:



framerate: | { (string)bggr, (string)rggb, (string)gbrg, (string)grbg,
(string)mono }



{ (string)8, (string)10, (string)12, (string)16 }



[ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 30/1 ] | | SRC template: 'video\_%u'
| image/jpeg | width:



height:



framerate: | [ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 120/1 ] | | SRC template: 'video\_%u'
| video/x-raw | format:



width:



height:



framerate: | { (string)NV12, (string)NV16, (string)YUY2 }



[ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 120/1 ] | | SRC template: 'video\_%u'
| video/x-raw(memory:GBM) | format:



width:



height:



framerate: | { (string)NV12, (string)YUY2 }



[ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 120/1 ] | | SRC template: 'video\_%u'
| video/x-bayer | format:



bpp:



width:



height:



framerate: | (string)bggr, (string)rggb, (string)gbrg, (string)grbg,
(string)mono }



{ (string)8, (string)10, (string)12, (string)16 }



[ 16, 4096 ]



[ 16, 4096 ]



[ 0/1, 120/1 ] | | | | | | | | | | | | | | | | | Pad | Property | Description | | --- | --- | --- | | 'image\_%u' | mode | Different image mode. | | 'video\_%u' | source-index | Index of the source video pad to which this pad is linked. | | 'video\_%u' | framerate | Target framerate in frames per second for display. | | 'video\_%u' | crop | Crop rectangle ('<X, Y, WIDTH, HEIGHT>'). Applicable only for
JPEG and YUY2 formats. | | 'video\_%u' | extra-buffers | Number of extra buffers that are allocated. | | 'video\_%u' | type | The type of the stream. | | | | | | | | | | | | | | | | | ## Element configuration Table : Element properties of qtiqmmfsrc | Property | Description | | --- | --- | | name | The name of the object. | | parent | The parent of the object. | | camera | The camera device ID to be used by video/image pads. | | slave | Set the camera as the secondary device. | | ldc | Lens distortion correction. | | lcac | Lateral chromatic aberration correction. | | eis | Electronic image stabilization to reduce the effects of camera
shake. | | shdr | Super high dynamic range imaging. | | adrc | Automatic dynamic range compression. | | control-mode | Overall mode of auto-exposure, auto-white-balance, auto-focus
(also known as 3A) control routines.
This is a top-level 3A
control switch. When set to OFF, 3A controlled by the camera
device is disabled.
| | effect | Effect applied on the camera frames. | | scene | Camera optimizations depending on the scene. | | antibanding | Camera antibanding routine for the current illumination
condition. | | sharpness | Image sharpness strength. | | contrast | Image contrast strength. | | saturation | Image saturation strength. | | iso-mode | ISO exposure mode.
| | manual-iso-value | Manual exposure ISO value. Used when the ISO mode is set to
'manual'. | | exposure-mode | The required mode for the camera exposure routine. | | exposure-lock | Locks current camera exposure routine values from changing. | | exposure-metering | The required mode for the camera exposure metering routine. | | exposure-compensation | Adjust (Compensate) camera images target brightness. The
adjustment is measured as a count of steps. | | manual-exposure-time | Manual exposure time in nanoseconds. Used when the Exposure mode
is set to 'off'. | | custom-exposure-table | A GstStructure describing custom exposure table. | | white-balance-mode | The mode for the camera's white balance routine.
| | white-balance-lock | Locks current White Balance values from changing. Affects only
non-manual white balance modes. | | manual-wb-settings | Manual White Balance settings such as color correction
temperature and R/G/B gains. Used in manual white balance modes. | | focus-mode | Indicates whether auto-focus is enabled along with its mode. | | noise-reduction | Noise reduction filter mode. | | noise-reduction-tuning | A GstStructure describing the noise reduction tuning. | | zoom | Camera zoom rectangle ('<X, Y, WIDTH, HEIGHT >') in sensor
active pixel array coordinates. | | defog-table | A GstStructure describing defog table. | | ltm-data | A GstStructure describing local tone mapping data. | | infrared-mode | Infrared mode. | | active-sensor-size | The active pixel array of the camera sensor ('<X, Y, WIDTH,
HEIGHT >') and it's filled only when the plugin is in READY or above
state. | | sensor-mode | Force set Sensor Mode index (0-15). -1 for Auto selection. | | capture-metadata | Expose camera metadata object that's used for camera control. If
the get property is used, caller must release metadata object. | | camera-characteristics | Returns supported values for camera parameters as camera metadata
object. The caller should take ownership and release the
metadata object.
| Table : Element signals for qtiqmmfsrc | Signal | Function | | --- | --- | | result-metadata | `void user_function (GstElement* object, gpointer arg0,
gpointer user_data);` | | urgent-metadata | `void user_function (GstElement* object, gpointer arg0,
gpointer user_data);` | **Parent Topic:** [Configure display, camera, encode and decode plugins](https://docs.qualcomm.com/doc/80-70022-50/topic/display-plugins.html) Last Published: Feb 20, 2026 [Previous Topic Configure display, camera, encode and decode plugins](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/display-plugins.md) [Next Topic qtivcomposer](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/qtivcomposer.md)