# pulsesink
The pulsesink plugin interacts with the underlying PulseAudio sound server to play the PCM samples.
The PulseAudio Server interacts with the underlying hardware to provide the playback capability. It’s based on the [GstAudioBaseSink](https://gstreamer.freedesktop.org/documentation/audio/gstaudiobasesink.html#GstAudioBaseSink) 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) → [GstBaseSink](https://gstreamer.freedesktop.org/documentation/base/gstbasesink.html?gi-language=c#GstBaseSink)→ [GstAudioBaseSink](https://gstreamer.freedesktop.org/documentation/audio/gstaudiobasesink.html#GstAudioBaseSink) → GstPulseSink
The following tables provide information on pad templates and element properties of pulsesink. For use cases, see Audio (only) playback.
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | 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 } |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-raw | layout: | interleaved |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-raw | rate: | [ 1, 22579200 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-raw | channels: | [ 1, 32 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-alaw | rate: | [ 1, 22579200 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-alaw | channels: | [ 1, 32 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-mulaw | rate: | [ 1, 22579200 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-mulaw | channels: | [ 1, 32 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-ac3 | framed: | true |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-eac3 | framed: | true |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-dts | framed: | true |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/x-dts | block-size: | { (int)512, (int)1024, (int)2048 } |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/mpeg | mpegversion: | 1 |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/mpeg | mpegaudioversion: | [ 1, 3 ] |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/mpeg | parsed: | true |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/mpeg | mpegversion: | { (int)2, (int)4 } |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/mpeg | framed: | true |
|
SINK template: 'sink'
*Availability:* Always
*Direction:* sink | audio/mpeg | stream-format: | adts |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
## Element configuration
Table : Elements properties of pulsesink
| Property | Description |
| --- | --- |
| name | - The name of the object.
-
flags: readable, writable
String. Default: "pulsesink0"
flags: readable, writable
Object of type "GstObject"
flags: readable, writable
Boolean. Default: true
flags: readable, writable
Integer64. Range: ˗1to 9223372036854775807, default: ˗1
flags: readable, writable
Boolean. Default: false
flags: readable, writable
Boolean. Default: true
flags: readable, writable
Integer64. Range: ˗9223372036854775808 to 9223372036854775807, default: 0
flags: readable, writable
Boolean. Default: false
flags: readable
Boxed pointer of type "GstSample"
flags: readable, writable
Unsigned Integer. Range: 0 - 4294967295 Default: 4096
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551615 Default: 0
flags: readable, writable
Integer64. Range: 1 - 9223372036854775807 Default: 200000
flags: readable, writable
Integer64. Range: 1 - 9223372036854775807 Default: 10000
flags: readable, writable
Boolean. Default: true
flags: readable, writable
(0): resample - GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE
(1): skew - GST_AUDIO_BASE_SINK_SLAVE_SKEW
(2): none - GST_AUDIO_BASE_SINK_SLAVE_NONE
(3): custom - GST_AUDIO_BASE_SINK_SLAVE_CUSTOM
flags: readable, writable
Boolean. Default: false
flags: readable, writable
Unsigned Integer64. Range: 1 - 18446744073709551614 Default: 40000000
flags: readable, writable
Integer64. Range: 1 - 9223372036854775807 Default: 40000
flags: readable, writable
Unsigned Integer64. Range: 0 - 18446744073709551614 Default: 1000000000
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: writable
Flags "GstPulseStreamFlags" Default: 0x0000200b
Adjust the latency of the sink/source based on the requested buffer metrics and adjust buffer metrics accordingly. The timing update requests are issued periodically automatically. Interpolate the latency for this stream and create the corked stream.
(0x00000000): Flag to pass when no specific options are needed - GST_PULSE_STREAM_NOFLAGS
(0x00000001): Create the stream corked - 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 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 to which the stream being connected - 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): 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 the 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 the device this stream is connected to auto-suspends - GST_PULSE_STREAM_DONT_INHIBIT_AUTO_SUSPEND
(0x00010000): Create in unmuted state - GST_PULSE_STREAM_START_UNMUTED
(0x00020000): If the sink/source connected to this stream is suspended during the creation of the stream, it cause it to fail - GST_PULSE_STREAM_FAIL_ON_SUSPEND
(0x00040000): If volume is passed when this stream is created, creation of this stream fails - GST_PULSE_STREAM_RELATIVE_VOLUME
(0x00080000): Used to tag content that are rendered by passthrough sinks - GST_PULSE_STREAM_PASSTHROUGH Write only
flags: writable
Integer. Range: ˗1 to 2147483647, default: 0 write-only