# pulsesrc
Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/pulsesrc.html](https://docs.qualcomm.com/doc/80-70022-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-70022-50/topic/audio-use-cases.html#audio-only-capture).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-raw | format: | { (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE,
(string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE,
(string)S24\_32LE, (string)S24\_32BE, (string)U8 } |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-raw | layout: | interleaved |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-raw | rate: | [ 1, 22579200 ] |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-raw | channels: | [ 1, 32 ] |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-alaw | rate: | [ 1, 22579200 ] |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-alaw | channels: | [ 1, 32 ] |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-mulaw | rate: | [ 1, 22579200 ] |
| SRC template: 'src'
- Availability: Always
- Direction: src
| audio/x-mulaw | channels: | [ 1, 32 ] |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
## Element configuration
Table : Element properties of pulsesrc
| Property | Description |
| --- | --- |
| name | The name of the object.
- flags: readable, writable
- String. Default: "pulsesrc0"
|
| parent | The parent of the object.
- flags: readable, writable
- Object of type "GstObject"
|
| blocksize | Size in bytes to read per buffer (-1 = default).
- flags: readable, writable
- Unsigned Integer. Range: 0 - 4294967295 Default: 0
|
| num-buffers | Number of buffers to output before sending EOS (-1 =
unlimited).
- flags: readable, writable
- Integer. Range: ˗1 to 2147483647, default: ˗1
|
| typefind | Run type find before negotiating (deprecated, non-functional).
- flags: readable, writable, deprecated
- Boolean. Default: false
|
| do-timestamp | Apply current stream time to buffers.
- flags: readable, writable
- Boolean. Default: true
|
| buffer-time | Size of audio buffer in microseconds. This size is the maximum
amount of data that's buffered in the device and the maximum latency
that the source reports. The pulsesrc plugin can ignore this
value.
- flags: readable, writable
- Integer64. Range: 1 - 9223372036854775807 Default:
200000
|
| latency-time | The minimum amount of data to read in each iteration is in
microseconds. This is the minimum latency that the source reports.
The plugin can ignore this value.
- flags: readable, writable
- Integer64. Range: 1 - 9223372036854775807 Default:
10000
|
| actual-buffer-time | Actual configured size of audio buffer in microseconds.
- flags: readable
- Integer64. Range: ˗1 to 9223372036854775807, default:
˗1
|
| actual-latency-time | Actual configured audio latency in microseconds.
- flags: readable
- Integer64. Range: ˗1 to 9223372036854775807, default:
˗1
|
| provide-clock | Provide a clock to be used as the global pipeline clock.
- flags: readable, writable
- Boolean. Default: true
|
| slave-method | Algorithm used to match the rate of the primary clock.
- flags: readable, writable
- Enum "GstAudioBaseSrcSlaveMethod" Default: 2, "skew"
- (0): resample -
GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE
- (1): re-timestamp -
GST_AUDIO_BASE_SRC_SLAVE_RE_TIMESTAMP
- (2): skew - GST_AUDIO_BASE_SRC_SLAVE_SKEW
- (3): none - GST_AUDIO_BASE_SRC_SLAVE_NONE
|
| server | The PulseAudio server for the connection.
- flags: readable, writable
- String. Default: null
|
| device | The PulseAudio source device for connection.
- flags: readable, writable
- String. Default: null
|
| current-device | The current PulseAudio source device.
- flags: readable
- String. Default: ""
|
| device-name | Human-readable name of the sound device.
- flags: readable
- String. Default: null
|
| volume | Linear volume of this stream, 1.0=100%.
- flags: readable, writable
- Double. Range: 0 - 10 Default: 1
|
| mute | Mute state of this stream.
- flags: readable, writable
- Boolean. Default: false
|
| client-name | The PulseAudio client\_name\_to\_use.
- flags: readable, writable, changeable only in NULL or READY
state
- String. Default: "gst-inspect-1.0"
|
| stream-properties | A list of PulseAudio stream properties.
- flags: readable, writable
- Boxed pointer of type "GstStructure"
|
| source-output-index | The index of the PulseAudio source output corresponding to this
record stream.
- flags: readable
- Unsigned Integer. Range: 0 - 4294967295 Default:
4294967295
|
| stream-flags | Stream flags (not all default flags can be overridden).
- flags: writable
- Flags "GstPulseStreamFlags" Default: 0x0000000f, "Timing
update requests are issued periodically and automatically.
Don't force the time to increase monotonically and
interpolate the latency for this stream.
- ((0x00000000): Flag to pass when no specific options
are needed - GST_PULSE_STREAM_NOFLAGS
- (0x00000001): Create the corked stream-
GST_PULSE_STREAM_START_CORKED
- (0x00000002): Interpolate the latency for this
stream - GST_PULSE_STREAM_INTERPOLATE_TIMING
- (0x00000004): Don't force the time to increase
monotonically - GST_PULSE_STREAM_NOT_MONOTONIC
- (0x00000008): Timing update requests are issued
periodically and automatically -
GST_PULSE_STREAM_AUTO_TIMING_UPDATE
- (0x00000010): Don't remap channels by their name,
instead map them simply by their index -
GST_PULSE_STREAM_NO_REMAP_CHANNELS
- (0x00000020): When remapping channels by name, don't
upmix or downmix them to related channels -
GST_PULSE_STREAM_NO_REMIX_CHANNELS
- (0x00000040): Use the sample format of the
sink/device this stream is being connected to -
GST_PULSE_STREAM_FIX_FORMAT
- (0x00000080): Use the sample rate of the sink -
GST_PULSE_STREAM_FIX_RATE
- (0x00000100): Use the number of channels and the
channel map of the sink -
GST_PULSE_STREAM_FIX_CHANNELS
- (0x00000200): Don't allow moving of this stream to
another sink/device -
GST_PULSE_STREAM_DONT_MOVE
- (0x00000400): Allow dynamic changing of the sampling
rate during playback -
GST_PULSE_STREAM_VARIABLE_RATE
- (0x00000800): Find peaks instead of resampling -
GST_PULSE_STREAM_PEAK_DETECT
- (0x00001000): Create in muted state -
GST_PULSE_STREAM_START_MUTED
- (0x00002000): Try to adjust the latency of the
sink/source based on the requested buffer metrics
and adjust buffer metrics accordingly -
GST_PULSE_STREAM_ADJUST_LATENCY
- (0x00004000): Enable compatibility mode for legacy
clients that rely on a classic hardware device
fragment-style playback model -
GST_PULSE_STREAM_EARLY_REQUESTS
- (0x00008000): If set, this stream isn't considered
when it's checked whether the stream is connected.
It's auto-suspended.
GST_PULSE_STREAM_DONT_INHIBIT_AUTO_SUSPEND
- (0x00010000): Create in unmuted state -
GST_PULSE_STREAM_START_UNMUTED
- (0x00020000): If the sink/source of this stream is
connected, it's suspended during the creation of
this stream, causing it to fail -
GST_PULSE_STREAM_FAIL_ON_SUSPEND
- (0x00040000): If a volume is passed when this stream
is created, creation of this stream causes it to
fail - GST_PULSE_STREAM_RELATIVE_VOLUME
- ((0x00080000): Used to tag content that's rendered
by pass-through sinks - GST_PULSE_STREAM_PASSTHROUGH
write-only
|
**Parent Topic:** [Configure audio plugins](https://docs.qualcomm.com/doc/80-70022-50/topic/audio-plugins.html)
Last Published: Feb 20, 2026
[Previous Topic
Configure audio plugins](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/audio-plugins.md) [Next Topic
pulsesink](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/pulsesink.md)