# qtiqmmfsrc Source: [https://docs.qualcomm.com/doc/80-70014-50/topic/qtiqmmfsrc.html](https://docs.qualcomm.com/doc/80-70014-50/topic/qtiqmmfsrc.html) The qtiqmmfsrc plugin captures the video frames through Qualcomm Camera Service. The plugin consists of the main class called GstQtiQmmfSrc 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, the camera device ID, which is used for this instance of the plugin can be set through the *camera* property (by default this ID is 0). The following are the transition states of the plugin: - During transition between NULL and READY state, the plugin opens and initializes the camera device with the given ID. - When transitioning to PAUSED state from READY, the plugin translates the set pad parameters and makes calls to the QMMF service in order to create the source streams for each pad. - The session streams are started when transition is done to PLAYING state. When 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 allocates buffers. The plugin returns the buffers to the service when they are 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, a single buffer is sent from the QMMF service. ## 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-70014-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 additional 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 | Camera device ID to be used by video/image pads | | slave | Set camera as slave 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. 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 desired 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 currently enabled, and the mode
it is in | | noise-reduction | Noise reduction filter mode | | noise-reduction-tuning | A GstStructure describing 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 is filled only when the plug-in 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 which is used for camera control.
If property get is used, caller must release metadata object | | camera-characteristics | Returns supported values for camera parameters as camera metadata
object. 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:** [Qualcomm GST plugins](https://docs.qualcomm.com/doc/80-70014-50/topic/qim-sdk-plugins.html) Last Published: Oct 27, 2025 [Previous Topic Qualcomm GST plugins](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/qim-sdk-plugins.md) [Next Topic v4l2h264dec](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/v4l2h264dec.md)