Introduction to GStreamer and TurboX C610 Camera Features

Processing audio, video and other data streams on the development board

GStreamer is a framework for writing streaming media applications. It processes not only audio and video but any kind of data flow including media formats like MP3, Ogg or Vorbis, MPEG-1/-2, AVI, QuickTime and mod. The framework is based on plugins that provide the codecs and other functions.

The TurboX C610 board features a dual 14-bit Qualcomm Spectra™ 250L image signal processor (ISP), capable of supporting sensors up to 24 megapixels at 30 fps with dual ISPs. Each ISP is capable of 16 megapixels.

On the TurboX C610, the GStreamer camera source element is qtiqmmfsrc, a plugin capable of providing multiple encoded bitstreams and YUV streams. The number of streams depends on hardware capability.

As shown in the diagram, the plugin is a client to the QMMF server, which runs as a daemon in the system and provides easy RPC APIs to implement camera use cases. QMMF-SDK interacts with HAL3, which in turn interacts with the camera backend and camera driver to configure the sensor and get a stream from the camera sensor. Buffers for each camera stream are allocated by QMMF-SDK using libGBM and submitted to HAL3. If the media stream type is AVC/HEVC, then those buffers are circulated with the video subsystem. If the media stream type is YUV, then they are circulated with the application.

More details:

Qualcomm Spectra is a product of Qualcomm Technologies, Inc. and/or its subsidiaries.