# GStD framework GStreamer daemon (GStD) controls the audio-video streaming using an inter-process communication protocol (IPC). Note This section isn't applicable to the QLI 2.0 RC2 release. - It’s an enhancement to the [`\[gst-launch\]`](https://gstreamer.freedesktop.org/documentation/tools/gst-launch.html?gi-language=c) tool. - It allows you to create a pipeline, and control the settings such as play and pause when the pipeline is active. GStD deploys in two parts: - **Daemon** starts the process in the background. - **Control application**, which can be written in any language, can run on the same processor or a separate machine. ## Known issue GStD is currently not supported on Dragonwing IQ-9075 and Dragonwing IQ-8275. ## GStD project The GStD project includes the core, the GstdClient, and IPC interfaces. :class: longtable table-wrap :widths: 30 70 :header-rows: 1 | GStD design components | Description | | --- | --- | | Core | Holds the current state of the GStreamer daemon pipelines along with their respective states, elements in each pipeline, and properties of each element. | | IPC | | | Custom application design | Description | | --- | --- | | View | | | Client logic | | A GStreamer client (GstdClient) is distributed with the project. It’s a command-line based application that communicates with GStD through TCP. - GstdClient allows you to create and start pipelines. - Unlike `gst-launch`, GstdClient allows you to have several active pipelines with the ability to control the pipeline and receive feedback after the pipeline has been created. For more information about GStD, see [https://developer.ridgerun.com/wiki/index.php/GStreamer_Daemon](https://developer.ridgerun.com/wiki/index.php/GStreamer_Daemon). ## Run GStD 1. Start GStD: gstd # This will start the process in the background. Using 'gstd &' is not required becauses gstd daemonizes itself by default. # To run gstd in foreground gstd -e # To view a list of all supported options, gstd --help-all Copy to clipboard 2. Start GstdClient: gst-client # gstd prompt will appear like, # gstd> # In the prompt, we can interact with the server creating/playing pipelines, etc. # To list all the possible commands gstd> help # Alternatively, instead of opening gstd prompt, can give the command as argument to gst-client gst-client list_pipelines Copy to clipboard - [Run local use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/local-use-cases.html) Control the GStD framework using a control application that's running on same processor. - [Run TCP use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/tcp-use-cases.html) Control the GStD framework using a control application that's remotely interfacing through TCP. - [Run HTTP use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/run-http-use-cases.html) Control the GStD framework using a control application that's remotely interfacing through HTTP. - [Enable message support through MQTT](https://docs.qualcomm.com/doc/80-80021-50/topic/mqtt-configuration.html) Message Queuing Telemetry Transport (MQTT) is a lightweight publish-subscribe protocol for communication between devices. Qualcomm IM SDK supports the MQTT protocol to send messages to a host device. Last Published: Mar 26, 2026 [Previous Topic GSt debug](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/imsdk_debug_gst.md)