# pulsesrc
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.
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
|
SRC template: 'src'
>
>
>
Availability: Always
Direction: src
Availability: Always
Direction: src
Availability: Always
Direction: src
Availability: Always
Direction: src
Availability: Always
Direction: src
Availability: Always
Direction: src
Availability: Always
Direction: src
Availability: Always
Direction: src
flags: readable, writable
String. Default: "pulsesrc0"
flags: readable, writable
Object of type "GstObject"
flags: readable, writable
Unsigned Integer. Range: 0 - 4294967295 Default: 0
flags: readable, writable
Integer. Range: ˗1 to 2147483647, default: ˗1
flags: readable, writable, deprecated
Boolean. Default: false
flags: readable, writable
Boolean. Default: true
flags: readable, writable
Integer64. Range: 1 - 9223372036854775807 Default: 200000
flags: readable, writable
Integer64. Range: 1 - 9223372036854775807 Default: 10000
flags: readable
Integer64. Range: ˗1 to 9223372036854775807, default: ˗1
flags: readable
Integer64. Range: ˗1 to 9223372036854775807, default: ˗1
flags: readable, writable
Boolean. Default: true
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
flags: readable, writable
String. Default: null
flags: readable, writable
String. Default: null
flags: readable
String. Default: ""
flags: readable
String. Default: null
flags: readable, writable
Double. Range: 0 - 10 Default: 1
flags: readable, writable
Boolean. Default: false
flags: readable, writable, changeable only in NULL or READY state
String. Default: "gst-inspect-1.0"
flags: readable, writable
Boxed pointer of type "GstStructure"
flags: readable
Unsigned Integer. Range: 0 - 4294967295 Default: 4294967295
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