# Camera switch
Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/camera-switch.html](https://docs.qualcomm.com/doc/80-70020-50/topic/camera-switch.html)
The **gst-camera-switch-example** application allows you to switch between two
cameras.
The following figure shows the pipeline, which demonstrates the camera switch between the
two cameras of the device without changing the state of the pipeline. The switching is
done in the Playing state after every 5 seconds.
For more information about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70020-50/topic/camera-switch.html#camera-switch__section_bk4_zjb_pbc).
Figure : gst-camera-switch-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
1. In the terminal of the target device, run the respective command for any of the
following use cases:
- Camera
switch:
gst-camera-switch-example Copy to clipboard
- Encode the stream after switching (default
option):
gst-camera-switch-exampleCopy to clipboard
- Display the stream after
switching:
gst-camera-switch-example -dCopy 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-camera-switch-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
The application generates the output as a preview or an encoded MP4 file.
Figure : Expected output for gst-camera-switch-example application

## Pipeline flow
The following table lists the plugins used in the camera switch
pipeline:| Pipeline | Description |
| --- | --- |
| Display preview | qtiqmmfsrc captures the camera live stream and uses capsfilter to create a branch for preview. The data is sent to the Wayland display sink (Waylandsink ) for preview. |
| Encode as MP4 file | qtiqmmfsrc captures the camera live stream and uses capsfilter to create a branch for encoding. The stream data is encoded. H264parse is used to parse the captured data. Mp4mux is used to multiplex the data. |
**Parent Topic:** [Run sample applications for a camera](https://docs.qualcomm.com/doc/80-70020-50/topic/camera-sample-applications.html)
Last Published: Jan 30, 2026
[Previous Topic
Camera burst capture](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/camera-burst-capture.md) [Next Topic
Wide dynamic range and electronic image stabilization](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/dynamic-range-and-image-stabilization.md)