# Audio
Source: [https://docs.qualcomm.com/doc/80-70014-50/topic/audio.html](https://docs.qualcomm.com/doc/80-70014-50/topic/audio.html)
For audio capture and playback, the [pulsesrc](https://docs.qualcomm.com/doc/80-70014-50/topic/pulsesrc.html) and [pulsesink](https://docs.qualcomm.com/doc/80-70014-50/topic/pulsesink.html) GStreamer plugins are used. Audio encode and decode are done
through open-source software.
## Capture
The figure shows the audio being captured using the pulsesrc plugin, which is
processed and written to a file.
Figure : Audio capture pipeline

Table : Audio capture components
| Component | Description |
| --- | --- |
| Pulsesrc |
- Captures the audio and shares it with the underlying
PulseAudio server.
- Sets the audio source from which the pulse-code modulation
(PCM) audio samples are captured.
- Saves the PCM samples to a file.
|
| PulseAudio server |
- Interacts with the Qualcomm hardware.
- Uses a pluggable module to interact with ALSA driver to
process the audio data.
|
## Playback
The pulsesink plugin is used for audio playback. It is an upstream plugin that
enables you to play audio from various audio sources (live source or an encoded
audio file).
Figure : Audio playback pipeline

Table : Audio playback components
| Component | Description |
| --- | --- |
| Pulsesink |
- Interacts with the underlying PulseAudio server.
- Sets the audio playback sink on which the audio has to be
played.
- Plays only the PCM data.
|
| PulseAudio server |
- Interacts with the Qualcomm hardware.
- Uses a pluggable module to interact with ALSA driver to
process the audio data for playback.
|
## Encode
Audio encode is done through an open-source software audio encoder plugin.
Figure : Audio encode pipeline

Table : Audio encode components
| Component | Description |
| --- | --- |
| Pulsesrc | Captures the audio and shares it with the underlying PulseAudio
server, which in turn interacts with the ALSA driver to process the
audio data for encoding. |
| PulseAudio server | Interacts with the ALSA driver to process the audio data for
encoding. |
| Encode | Encodes the audio data using an open-source software. |
| Parse | Parses the audio data. |
| Filemux | Multiplexes it and saves it in MP4 or MPEGTS container. |
## Decode
Audio decode is done through an open-source software audio decoder plugin..
Figure : Audio decode pipeline

Table : Audio decode components
| Component | Description |
| --- | --- |
| Filesrc | Reads the audio data. |
| Stream demux | Demultiplexes the audio data. |
| Decode | Decodes the audio data using an open-source software. |
| Pulsesink | Interacts with the underlying PulseAudio server and plays the
decoded audio. |
| PulseAudio server | Interacts with the ALSA driver to process the audio data for
decoding. |
**Parent Topic:** [Qualcomm IM SDK GStreamer plugin architecture](https://docs.qualcomm.com/doc/80-70014-50/topic/architecture.html)
Last Published: Oct 27, 2025
[Previous Topic
Video](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/video.md) [Next Topic
Graphics and display](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/graphics-and-display.md)