# pulsesrc

Source: [https://docs.qualcomm.com/doc/80-70014-50/topic/pulsesrc.html](https://docs.qualcomm.com/doc/80-70014-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 [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-70014-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 is the maximum amount<br>                                of data that is buffered in the device and the maximum latency that<br>                                the source reports. This value might be ignored by the element if<br>                                necessary; see "actual-buffer-time"<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 in<br>                                microseconds. This is the minimum latency that the source reports.<br>                                This value might be ignored by the element if necessary; see<br>                                    "actual-latency-time"<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 to use (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 automatically+Don't<br>                                        force the time to increase monotonically+Interpolate the<br>                                        latency for this stream+Create the stream corked"<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 stream corked -<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 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 won't be considered<br>                                                when it is checked whether the device this stream is<br>                                                connected to should auto-suspend -<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 this stream is<br>                                                connected to is suspended during the creation of<br>                                                this stream, cause 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, cause it to<br>                                                fail - GST_PULSE_STREAM_RELATIVE_VOLUME</li><br><br>                                            <li class="li">((0x00080000): Used to tag content that will be<br>                                                rendered by passthrough sinks -<br>                                                GST_PULSE_STREAM_PASSTHROUGH Write only</li><br><br>                                        </ul><br></li><br><br>                                </ul> |

**Parent Topic:** [Qualcomm GST plugins](https://docs.qualcomm.com/doc/80-70014-50/topic/qim-sdk-plugins.html)

Last Published: Oct 27, 2025

[Previous Topic
v4l2vp9dec](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/v4l2vp9dec.md) [Next Topic
pulsesink](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/pulsesink.md)