# PulseAudio

PulseAudio manages all audio applications, local and network streams, devices,
        filters, and audio I/O.

        ![](data:image/png;base64,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)

## PulseAudio PAL plug-in

The PulseAudio PAL plug-in is responsible for loading PAL. It allows the client to
                configure the audio devices and invoke various audio use cases.

The following are the components of the PulseAudio PAL plug-in:

| **Card** | Represents a sound card which is a collection of supported<br>                                        profiles, ports, sinks, and sources.<br><br><br>                                    <br>Functionalities of a card module are:<br><br><br>                                    <ul class="ul"><br>                                        <li class="li">Load/unload PAL</li><br><br>                                        <li class="li">Create/free a port supported by PAL</li><br><br>                                        <li class="li">Create/free PAL card</li><br><br>                                        <li class="li">Create/free sink or sources. A sink corresponds to the<br>                                            playback path. Sources correspond to the capture<br>                                            path.</li><br><br>                                    </ul> |
| --- | --- |
| **Sink** | Responsible for configuration of the audio playback path.<br><br><br>                                    <br>Functionalities of a sink module are:<br><br><br>                                    <ul class="ul"><br>                                        <li class="li">Open/close a playback session based on the configuration<br>                                            supplied by the module-pal-card</li><br><br>                                        <li class="li">Create/free the sink thread for writing data for a PAL<br>                                            playback session</li><br><br>                                        <li class="li">Set volume support</li><br><br>                                        <li class="li">Get latency support</li><br><br>                                        <li class="li">Routing support</li><br><br>                                    </ul> |
| **Source** | Responsible for configuration of the audio capture path.<br><br><br>                                    <br>Functionalities of a source module are:<br><br><br>                                    <ul class="ul"><br>                                        <li class="li">Open/close a PAL record session based on the<br>                                            configuration supplied by module-pal-card</li><br><br>                                        <li class="li">Create/free PA sources</li><br><br>                                        <li class="li">Create source thread for reading data from a PAL record<br>                                            session</li><br><br>                                        <li class="li">Routing support</li><br><br>                                    </ul> |

## PAL configuration files

PAL card module configurations (port, profile, sink, source, effects or any global
                configuration) are stored in conf files, which are target specific.

The conf file is parsed by pal-config-parser.c. The appropriate conf file is selected
                based on the sound card name. If a conf file for a particular sound card is not
                present, then default.conf is selected. The following are the conf file paths:

- Source
                            code:
    build-qcom-wayland/workspace/sources/pulseaudio/opensource/pulseaudio/src/modules/pal/module-pal-card/configs
- Device path: /usr/share/pulseaudio/pal/configs/

The following are the supported conf files:

- `default.conf`
- `qcm6490-rb3-snd-card.conf`
- `qcm6490-rb3-vision-snd-card.conf`
- `qcm6490-rb3-vc-snd-card.conf`

## Speaker attributes

[Port speaker]description = speakerdefault-channel-map = front-left,front-rightdefault-sample-rate = 48000direction = outpriority = 200presence = alwaysdevice = PAL_DEVICE_OUT_SPEAKERencodings = pcmsample-formats = s16lesample-rates = 48000channel-maps = front-left,front-right
    Copy to clipboard

| Attribute | Description |
| --- | --- |
| Description | Description of the PAL device.<br><br><br>                                    <br>Example usage: `Speaker` |
| Default-channel-map | Default channel map for the PAL device.<br><br><br>                                    <br>Example usage: `front-left, front-right` |
| Default-sample-rate | Default sample rate for the PAL device.<br><br><br>                                    <br>Example usage: `48000` |
| Direction | Direction of audio data.<br><br><br>                                    <br>Example usage: `Out` |
| Priority | Priority of the port.<br><br><br>                                    <br>Example usage: `200` |
| Presence | <ul class="ul"><br>                                        <li class="li"><code class="ph codeph">#static</code> - Indicates that the port is<br>                                            always available, but the device connection is not<br>                                            known</li><br><br>                                        <li class="li"><code class="ph codeph">#dynamic</code> - Indicates that the port<br>                                            presence is detected dynamically</li><br><br>                                        <li class="li"><code class="ph codeph">#always</code> - Indicates that both port and<br>                                            device are always present</li><br><br>                                    </ul><br><br>                                    <br>Example usage: `Always` |
| device | PAL device name.<br><br><br>                                    <br>Example usage: `PAL_DEVICE_OUT_SPEAKER`<br> |
| encodings | List of encoding formats supported. First encoding is<br>                                        considered as PCM.<br><br><br>                                    <br>Example usage: `pcm` |
| sample-formats | List of supported sample formats. First entry is considered<br>                                        default.<br><br><br>                                    <br>Example usage: `s16le`<br> |
| sample-rates | List of supported sample rates. First entry is considered as<br>                                        default.<br><br><br>                                    <br>Example usage: `48000` |
| channel-maps | List of channel maps supported.<br><br><br>                                    <br>Example usage: `front-left, front-right` |

## Default PAL profile attributes

[Profile default]
          description = Default pal profile
          priority = 500
          max-sink-channels = 2
          max-source-channels = 2
          port-names = speaker handset-mic speaker-mic bta2dp-out btsco-in btsco-out
    Copy to clipboard

| Attribute | Description |
| --- | --- |
| `description` | Description of PAL profile.<br><br><br>                                    <br>Example usage: `Default pal profile` |
| `priority` | Priority of the profile.<br><br><br>                                    <br>Example usage: `500` |
| `max-sink-channels` | Maximum number of sink channels supported for this<br>                                        profile.<br><br><br>                                    <br>Example usage: `2` |
| `max-source-channels` | Maximum number of source channels supported this profile.<br><br><br>                                    <br>Example usage: `2` |
| `port-names` | List of supported port names.<br><br><br>                                    <br>Example usage:<br>                                        <br><br>    speaker handset-mic<br>    speaker-mic bta2dp-out btsco-in<br>    btsco-outCopy to clipboard |

## Sink attributes

    [Sink low-latency0]
    description = pal sink to play via low-latency path
    type = PAL_STREAM_LOW_LATENCY
    default-encoding = pcm
    default-sample-rate = 48000
    default-sample-format = s16le
    default-channel-map = front-left,front-right
    default-buffer-size = 1024
    default-buffer-count = 4
    port-names = speaker
    presence = always
    use-hw-volume = true
    Copy to clipboard

| Attribute | Description |
| --- | --- |
| `description` | Description of sink.<br><br><br>                                <br>Example usage: ` pal sink to play via low-latency<br>                                        path` |
| `type` | PAL stream type.<br><br><br>                                <br>Example usage: `PAL_STREAM_LOW_LATENCY` |
| `default-encoding` | Default encoding.<br><br><br>                                <br>Example usage: `pcm` |
| `default-sample-rate` | Default sample rate.<br><br><br>                                <br>Example usage: `48000` |
| `default-channel-map` | Default channel map.<br><br><br>                                <br>Example usage: `front-left, front-right` |
| `default-buffer-size` | Default buffer size.<br><br>Example usage:<br>                                `1024` |
| `default-buffer-count` | Default buffer count.<br><br><br>                                <br>Example usage: `4` |
| `port-names` | List of supported ports for this sink<br><br><br>                                <br>Example usage: `speaker`<br> |
| `presence` | <ul class="ul" id="pulseaudio_sw__ul_qyg_mrd_r1c"><br>                                    <li class="li">#static - Indicates sink is always available, but device<br>                                        connection is not known</li><br><br>                                    <li class="li">#dynamic - Indicates sink presence is detected<br>                                        dynamically</li><br><br>                                    <li class="li">#always - Indicates both sink and device are always<br>                                        present</li><br><br>                                </ul><br><br>                                <br>Example usage: `Always` |
| `use-hw-volume` | `#true` if the DSP volume needs to be applied.<br><br><br>                                <br>Example usage: `true` |

## Source attributes

    [Source regular2]
    description = pal source to capture pcm via RAW record path
    type = PAL_STREAM_RAW
    default-encoding = pcm
    default-sample-rate = 48000
    default-sample-format = s16le
    default-channel-map = front-left,front-right
    default-buffer-size = 1920
    default-buffer-count = 2
    port-names = handset-mic speaker-mic
    presence = always
    Copy to clipboard

| Attribute | Description |
| --- | --- |
| `description` | Description of source.<br><br><br>                                <br>Example usage: `pal source to capture pcm via RAW record<br>                                        path` |
| `type` | PAL stream type.<br><br><br>                                <br>Example usage: `PAL_STREAM_RAW` |
| `default-encoding` | Default encoding.<br><br><br>                                <br>Example usage: `pcm` |
| `default-sample-rate` | Default sample rate.<br><br><br>                                <br>Example usage: `48000` |
| `default-sample-format` | Default sample format.<br><br><br>                                <br>Example usage: `s16le` |
| `default-channel-map` | Default channel map.<br><br><br>                                <br>Example usage: `front-left, front-right` |
| `default-buffer-size` | Default buffer size.<br><br>Example usage:<br>                                `1920` |
| `default-buffer-count` | Default buffer count.<br><br><br>                                <br>Example usage: `2` |
| `port-names` | List of supported ports for this sink<br><br><br>                                <br>Example usage: `handset-mic speaker-mic`<br> |
| `presence` | <ul class="ul"><br>                                    <li class="li"><code class="ph codeph">#static</code> - Indicates that the source is<br>                                        always available but the device connection is not known</li><br><br>                                    <li class="li"><code class="ph codeph">#dynamic</code> - Indicates that the source<br>                                        presence is detected dynamically</li><br><br>                                    <li class="li"><code class="ph codeph">#always</code> - Indicates that both the source<br>                                        and device are always present</li><br><br>                                </ul><br><br>                                <br>Example usage: `Always` |

**Parent Topic:** [Software](https://docs.qualcomm.com/doc/80-70014-16/topic/software.html)

Last Published: Jul 15, 2024

[Previous Topic
Software](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/software.md) [Next Topic
PAL](https://docs.qualcomm.com/bundle/publicresource/80-70014-16/topics/pal_sw.md)