# pulsesrc

Source: [https://docs.qualcomm.com/doc/80-70015-50/topic/pulsesrc.html](https://docs.qualcomm.com/doc/80-70015-50/topic/pulsesrc.html)

The pulsesrc plugin interacts with the underlying PulseAudio sound server to capture
        the pulse-coded modulation (PCM) samples.

The PulseAudio server interacts with the underlying hardware to provide the capture
            capability and is based on the [GstAudioSrc](https://gstreamer.freedesktop.org/documentation/audio/gstaudiosrc.html#GstAudioSrc) base class.

## Inheritance chain

[GObject](https://docs.gtk.org/gobject/) → [GstObject](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html?gi-language=c) → [GstElement](https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c) → [GstBaseSrc](https://gstreamer.freedesktop.org/documentation/base/gstbasesrc.html#GstBaseSrc) → [GstPushSrc](https://gstreamer.freedesktop.org/documentation/base/gstpushsrc.html#GstPushSrc) → [GstAudioBaseSrc](https://gstreamer.freedesktop.org/documentation/audio/gstaudiobasesrc.html#GstAudioBaseSrc) → [GstAudioSrc](https://gstreamer.freedesktop.org/documentation/audio/gstaudiosrc.html#GstAudioSrc) → GstPulseSrc

The following tables provide information on pad templates and element properties of
                pulsesrc. For use cases, see [Audio (only) capture](https://docs.qualcomm.com/doc/80-70015-50/topic/audio-only-capture.html).

## Pad configuration

| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-raw | format: | { (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE,<br>                                (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE,<br>                                (string)S24\_32LE, (string)S24\_32BE, (string)U8 } |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-raw | layout: | interleaved |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-raw | rate: | [ 1, 22579200 ] |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-raw | channels: | [ 1, 32 ] |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-alaw | rate: | [ 1, 22579200 ] |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-alaw | channels: | [ 1, 32 ] |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-mulaw | rate: | [ 1, 22579200 ] |
| SRC template: 'src'<br><br><br>                                <ul class="ul" id="pulsesrc__ul_ofd_x15_q1c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> src</li><br><br>                                </ul> | audio/x-mulaw | channels: | [ 1, 32 ] |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |
|  |  |  |  |

## Element configuration

Table : Element properties of pulsesrc

| Property | Description |
| --- | --- |
| name | The name of the object.<ul class="ul" id="pulsesrc__ul_n3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: "pulsesrc0"</li><br><br>                                </ul> |
| parent | The parent of the object.<ul class="ul" id="pulsesrc__ul_o3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Object of type "GstObject"</li><br><br>                                </ul> |
| blocksize | Size in bytes to read per buffer (-1 = default).<ul class="ul" id="pulsesrc__ul_p3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer. Range: 0 - 4294967295 Default: 0</li><br><br>                                </ul> |
| num-buffers | Number of buffers to output before sending EOS (-1 =<br>                                    unlimited).<ul class="ul" id="pulsesrc__ul_q3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Integer. Range: -1 - 2147483647 Default: -1</li><br><br>                                </ul> |
| typefind | Run type find before negotiating (deprecated, non-functional).<ul class="ul" id="pulsesrc__ul_r3s_21n_myb"><br>                                    <li class="li">flags: readable, writable, deprecated</li><br><br>                                    <li class="li">Boolean. Default: false</li><br><br>                                </ul> |
| do-timestamp | Apply current stream time to buffers.<ul class="ul" id="pulsesrc__ul_s3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| buffer-time | Size of audio buffer in microseconds. This size is the maximum<br>                                amount of data that is buffered in the device and the maximum<br>                                latency that the source reports. The pulsesrc plugin can ignore this<br>                                    value.<ul class="ul" id="pulsesrc__ul_t3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Integer64. Range: 1 - 9223372036854775807 Default:<br>                                        200000</li><br><br>                                </ul> |
| latency-time | The minimum amount of data to read in each iteration is in<br>                                microseconds. This is the minimum latency that the source reports.<br>                                The plugin can ignore this value.<ul class="ul" id="pulsesrc__ul_u3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Integer64. Range: 1 - 9223372036854775807 Default:<br>                                        10000</li><br><br>                                </ul> |
| actual-buffer-time | Actual configured size of audio buffer in microseconds.<ul class="ul" id="pulsesrc__ul_v3s_21n_myb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">Integer64. Range: -1 - 9223372036854775807 Default: -1</li><br><br>                                </ul> |
| actual-latency-time | Actual configured audio latency in microseconds.<ul class="ul" id="pulsesrc__ul_w3s_21n_myb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">Integer64. Range: -1 - 9223372036854775807 Default: -1</li><br><br>                                </ul> |
| provide-clock | Provide a clock to be used as the global pipeline clock.<ul class="ul" id="pulsesrc__ul_x3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: true</li><br><br>                                </ul> |
| slave-method | Algorithm used to match the rate of the master clock.<ul class="ul" id="pulsesrc__ul_y3s_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Enum "GstAudioBaseSrcSlaveMethod" Default: 2, "skew" <ul class="ul" id="pulsesrc__ul_z3s_21n_myb"><br>                                            <li class="li">(0): resample -<br>                                                GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE</li><br><br>                                            <li class="li">(1): re-timestamp -<br>                                                GST_AUDIO_BASE_SRC_SLAVE_RE_TIMESTAMP</li><br><br>                                            <li class="li">(2): skew - GST_AUDIO_BASE_SRC_SLAVE_SKEW</li><br><br>                                            <li class="li">(3): none - GST_AUDIO_BASE_SRC_SLAVE_NONE</li><br><br>                                        </ul><br></li><br><br>                                </ul> |
| server | The PulseAudio server for the connection.<ul class="ul" id="pulsesrc__ul_ajs_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: null</li><br><br>                                </ul> |
| device | The PulseAudio source device for connection.<ul class="ul" id="pulsesrc__ul_bjs_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: null</li><br><br>                                </ul> |
| current-device | The current PulseAudio source device.<ul class="ul" id="pulsesrc__ul_cjs_21n_myb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">String. Default: ""</li><br><br>                                </ul> |
| device-name | Human-readable name of the sound device.<ul class="ul" id="pulsesrc__ul_djs_21n_myb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">String. Default: null</li><br><br>                                </ul> |
| volume | Linear volume of this stream, 1.0=100%.<ul class="ul" id="pulsesrc__ul_ejs_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Double. Range: 0 - 10 Default: 1</li><br><br>                                </ul> |
| mute | Mute state of this stream.<ul class="ul" id="pulsesrc__ul_fjs_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: false</li><br><br>                                </ul> |
| client-name | The PulseAudio client\_name\_to\_use.<ul class="ul" id="pulsesrc__ul_gjs_21n_myb"><br>                                    <li class="li">flags: readable, writable, changeable only in NULL or READY<br>                                        state</li><br><br>                                    <li class="li">String. Default: "gst-inspect-1.0"</li><br><br>                                </ul> |
| stream-properties | A list of PulseAudio stream properties.<ul class="ul" id="pulsesrc__ul_hjs_21n_myb"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boxed pointer of type "GstStructure"</li><br><br>                                </ul> |
| source-output-index | The index of the PulseAudio source output corresponding to this<br>                                record stream.<ul class="ul" id="pulsesrc__ul_ijs_21n_myb"><br>                                    <li class="li">flags: readable</li><br><br>                                    <li class="li">Unsigned Integer. Range: 0 - 4294967295 Default:<br>                                        4294967295</li><br><br>                                </ul> |
| stream-flags | Stream flags (not all default flags can be overridden).<ul class="ul" id="pulsesrc__ul_jjs_21n_myb"><br>                                    <li class="li">flags: writable</li><br><br>                                    <li class="li">Flags "GstPulseStreamFlags" Default: 0x0000000f, "Timing<br>                                        update requests are issued periodically and automatically.<br>                                        Do not force the time to increase monotonically and<br>                                        interpolate the latency for this stream.<ul class="ul" id="pulsesrc__ul_kjs_21n_myb"><br>                                            <li class="li">((0x00000000): Flag to pass when no specific options<br>                                                are needed - GST_PULSE_STREAM_NOFLAGS</li><br><br>                                            <li class="li">(0x00000001): Create the corked stream-<br>                                                GST_PULSE_STREAM_START_CORKED</li><br><br>                                            <li class="li">(0x00000002): Interpolate the latency for this<br>                                                stream - GST_PULSE_STREAM_INTERPOLATE_TIMING</li><br><br>                                            <li class="li">(0x00000004): Do not force the time to increase<br>                                                monotonically - GST_PULSE_STREAM_NOT_MONOTONIC</li><br><br>                                            <li class="li">(0x00000008): Timing update requests are issued<br>                                                periodically and automatically -<br>                                                GST_PULSE_STREAM_AUTO_TIMING_UPDATE</li><br><br>                                            <li class="li">(0x00000010): Do not remap channels by their name,<br>                                                instead map them simply by their index -<br>                                                GST_PULSE_STREAM_NO_REMAP_CHANNELS</li><br><br>                                            <li class="li">(0x00000020): When remapping channels by name, do<br>                                                not upmix or downmix them to related channels -<br>                                                GST_PULSE_STREAM_NO_REMIX_CHANNELS</li><br><br>                                            <li class="li">(0x00000040): Use the sample format of the<br>                                                sink/device this stream is being connected to -<br>                                                GST_PULSE_STREAM_FIX_FORMAT</li><br><br>                                            <li class="li">(0x00000080): Use the sample rate of the sink -<br>                                                GST_PULSE_STREAM_FIX_RATE</li><br><br>                                            <li class="li">(0x00000100): Use the number of channels and the<br>                                                channel map of the sink -<br>                                                GST_PULSE_STREAM_FIX_CHANNELS</li><br><br>                                            <li class="li">(0x00000200): Do not allow moving of this stream to<br>                                                another sink/device -<br>                                                GST_PULSE_STREAM_DONT_MOVE</li><br><br>                                            <li class="li">(0x00000400): Allow dynamic changing of the sampling<br>                                                rate during playback -<br>                                                GST_PULSE_STREAM_VARIABLE_RATE</li><br><br>                                            <li class="li">(0x00000800): Find peaks instead of resampling -<br>                                                GST_PULSE_STREAM_PEAK_DETECT</li><br><br>                                            <li class="li">(0x00001000): Create in muted state -<br>                                                GST_PULSE_STREAM_START_MUTED</li><br><br>                                            <li class="li">(0x00002000): Try to adjust the latency of the<br>                                                sink/source based on the requested buffer metrics<br>                                                and adjust buffer metrics accordingly -<br>                                                GST_PULSE_STREAM_ADJUST_LATENCY</li><br><br>                                            <li class="li">(0x00004000): Enable compatibility mode for legacy<br>                                                clients that rely on a classic hardware device<br>                                                fragment-style playback model -<br>                                                GST_PULSE_STREAM_EARLY_REQUESTS</li><br><br>                                            <li class="li">(0x00008000): If set, this stream is not considered<br>                                                when it is checked whether the stream is connected.<br>                                                It is auto-suspended.<br>                                                GST_PULSE_STREAM_DONT_INHIBIT_AUTO_SUSPEND</li><br><br>                                            <li class="li">(0x00010000): Create in unmuted state -<br>                                                GST_PULSE_STREAM_START_UNMUTED</li><br><br>                                            <li class="li">(0x00020000): If the sink/source of this stream is<br>                                                connected, it is suspended during the creation of<br>                                                this stream, causing it to fail -<br>                                                GST_PULSE_STREAM_FAIL_ON_SUSPEND</li><br><br>                                            <li class="li">(0x00040000): If a volume is passed when this stream<br>                                                is created, creation of this stream causes it to<br>                                                fail - GST_PULSE_STREAM_RELATIVE_VOLUME</li><br><br>                                            <li class="li">((0x00080000): Used to tag content that is rendered<br>                                                by passthrough sinks - GST_PULSE_STREAM_PASSTHROUGH<br>                                                Write only</li><br><br>                                        </ul><br></li><br><br>                                </ul> |

**Parent Topic:** [Audio plugins](https://docs.qualcomm.com/doc/80-70015-50/topic/audio-plugins.html)

Last Published: Oct 27, 2025

[Previous Topic
Audio plugins](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/audio-plugins.md) [Next Topic
pulsesink](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/pulsesink.md)