# Activate-deactivate streams at runtime
Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/gst-activate-deactivate-streams-runtime.html](https://docs.qualcomm.com/doc/80-70020-50/topic/gst-activate-deactivate-streams-runtime.html)
The **gst-activate-deactivate-streams-runtime-example** application allows you to
change the resolution dynamically without the need to reconfigure the camera
sensor.
This application can be used in surveillance systems, videoconferencing, and broadcasting
where several live streams are processed in parallel and you can control the active
streams dynamically.
The following figure shows the pipeline, where the application creates two streams of
different resolutions, and activates and deactivates them at runtime. For information
about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70020-50/topic/gst-activate-deactivate-streams-runtime.html#gst-activate-deactivate-streams-runtime__section_tt4_kvy_nbc).
Figure : gst-activate-deactivate-streams-runtime-example pipeline
## Prerequisites
- [Get started with the Qualcomm IM SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-51/install-sdk.html)
for your Qualcomm Linux 1.5 or Ubuntu Server.
- Activate SSH on your Qualcomm Linux or Ubuntu to sign in with SSH and connect to
the target device. For instructions see:
- [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-254/how_to.html#use-ssh) for Qualcomm
Linux
- [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-90441-1/Use_Ubuntu_on_RB3_Gen2_3.html#sign-in-to-the-rb3-gen-2-console-using-ssh) for Ubuntu
Server
Note: If SSH is already set up and Wi-Fi is
connected, skip this step.
- Use the HDMI port to connect the display to the device. For instructions, see
[Set up HDMI display](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-18/samples.html).
- Sign in to the target device using SSH.
- In the terminal of the target device, run the following commands from the SSH
shell of the target device to activate the display on the host computer:
- For
Linux:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard
- For Ubuntu Server:
export XDG_RUNTIME_DIR=/run/user/$(id -u ubuntu)/ && export WAYLAND_DISPLAY=wayland-1 Copy to clipboard
- Connect the speaker to activate the audio on the target device. For
instructions, see [Set up audio hardware](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-16/enable-audio.html).
If you face
issues in recording the audio, run the following command in the terminal of
the target
device:
pactl set-default-source pal_source_speaker_micCopy to clipboard
- If you face issues with the camera or display, see [Camera troubleshooting](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-17/troubleshooting.html) and [Display troubleshooting](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-18/debug.html).
## Run the application
The following table lists the application use case modes. The NULL state is the
initial state of a GStreamer element.
Note: Currently, the application is compatible only with the Basic
mode. Full mode will be supported in a future release.
| Use case mode | Description |
| --- | --- |
| Basic | Activates or deactivates several streams *without entering* the NULL state. |
| Full | Activates or deactivates several streams *by entering* the NULL state. |
For more information, see [GStreamer states](https://gstreamer.freedesktop.org/documentation/additional/design/states.html?gi-language=c).
1. In the terminal of the target device, run the respective command for any of
the following use cases. Before running the application, ensure to configure
the use cases and output type parameters.
- **Basic use cases**
- Stream on
Waylandsink:
gst-activate-deactivate-streams-runtime-example -u Basic -o DisplayCopy to clipboard
- Encode to MP4
file:
gst-activate-deactivate-streams-runtime-example -u Basic -o FileCopy to clipboard
- **Full use cases**
- Stream on
Waylandsink:
gst-activate-deactivate-streams-runtime-example -u Full -o DisplayCopy to clipboard
- Encode to MP4
file:
gst-activate-deactivate-streams-runtime-example -u Full -o FileCopy to clipboard
2. To stop the use case, use CTRL +
C.
3. In the terminal of the target device, run the following command in the SSH
shell to display the available help
options:
gst-activate-deactivate-streams-runtime-example --helpCopy to clipboard
4. In the terminal of the host computer, run the following command to pull the
files from the target
device:
scp root@:/etc/media/Copy to clipboard
## Expected output
During the execution, the first stream is activated followed by the second stream.
After a while, the streams deactivate.
- If the output option is set to `Display`, the output is displayed
as a preview.
- If the output option is set to `File`, the encoded video files
are generated.
Figure : Expected output for gst-activate-deactivate-streams-runtime-example
application

## Pipeline flow
The following table lists the plugins used in the
gst-activate-deactivate-streams-runtime-example pipeline:
| Plugin | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70020-50/topic/qtiqmmfsrc.html) | Captures the camera feed and sends it into the capsfilter. |
| Capsfilter | Passes the feed to [Waylandsink](https://docs.qualcomm.com/doc/80-70020-50/topic/waylandsink.html) for display. |
| Capsfilter | Passes the feed to filesink to save it to a file. |
| | |
**Parent Topic:** [Dynamic configuration](https://docs.qualcomm.com/doc/80-70020-50/topic/dynamic-configuration.html)
Last Published: Jan 30, 2026
[Previous Topic
Dynamic configuration](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/dynamic-configuration.md) [Next Topic
Add-remove streams at runtime](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/gst-add-remove-streams-runtime.md)