Home | About | Community | Download | Documentation | Planet |
Supported audio formats
PulseAudio is primarily designed for PCM audio, and can handle almost any number of channels and any sample rate (it's possible to come up with weird use cases that are not supported). PulseAudio can also play some compressed audio formats in passthrough mode via S/PDIF and HDMI outputs, but with those formats PulseAudio can't mix streams, apply volume or do resampling, or do any other audio modification (that's why it's called "passthrough mode").
PCM sample formats
Below is a list of all supported PCM sample formats. The code at the beginning of each line is used whenever a textual identifier for a format is needed (for example in configuration files or on the command line).
u8
: unsigned 8-bit integeraLaw
: A-law encoded 8-bit integeruLaw
: μ-law encoded 8-bit integers16le
: signed 16-bit little-endian integers16be
: signed 16-bit big-endian integers16
,s16ne
: native-endian aliases fors16le
ors16be
s16re
: reverse-endian alias fors16le
ors16be
float32le
: 32-bit little-endian floatfloat32be
: 32-bit big-endian floatfloat32
,float32ne
: native-endian aliases forfloat32le
orfloat32be
float32re
: reverse-endian alias forfloat32le
orfloat32be
s32le
: signed 32-bit little-endian integers32be
: signed 32-bit big-endian integers32
,s32ne
: native-endian aliases fors32le
ors32be
s32re
: reverse-endian alias fors32le
ors32be
s24le
: signed 24-bit little-endian integer (note: ALSA calls this "S24_3LE")s24be
: signed 24-bit big-endian integer (note: ALSA calls this "S24_3BE")s24
,s24ne
: native-endian aliases fors24le
ors24be
s24re
: reverse-endian alias fors24le
ors24be
s24-32le
: signed 24-bit little-endian integer, packed into a 32-bit integer so that the 8 most significant bits are ignored (note: ALSA calls this "S24_LE")s24-32be
: signed 24-bit big-endian integer, packed into a 32-bit integer so that the 8 most significant bits are ignored (note: ALSA calls this "S24_BE")s24-32
,s24-32ne
: native-endian aliases fors24-32le
ors24-32be
s24-32re
: reverse-endian alias fors24-32le
ors24-32be
Compressed audio formats
Below is a list of all supported compressed formats. The code at the beginning of each line is used whenever a textual identifier for a format is needed (for example in configuration files or on the command line). The formats whose identifier ends with -iec61937
have to be wrapped in IEC 61937 frames, which makes the compressed audio behave more like normal PCM audio.
ac3-iec61937
: Dolby Digital (DD / AC-3 / A/52)eac3-iec61937
: Dolby Digital Plus (DD+ / E-AC-3)mpeg-iec61937
: MPEG-1 or MPEG-2 Part 3 (not MPEG-2 AAC)dts-iec61937
: DTSmpeg2-aac-iec61937
: MPEG-2 AAC (supported since PulseAudio 4.0)truehd-iec61937
: Dolby TrueHD (added in PulseAudio 13.0, but doesn't work yet in practice)dtshd-iec61937
: DTS-HD Master Audio (added in PulseAudio 13.0, but doesn't work yet in practice)pcm
: PCM (not a compressed format, but listed here, becausepcm
is one of the recognized encoding identifiers)any
: (special identifier for indicating that any encoding can be used)
Bluetooth codecs
The sections above talk about what formats are available between applications and PulseAudio. A different topic is what formats are available for streaming between PulseAudio and a bluetooth device (the bluetooth standard allows using many different codecs). See the bluetooth page for the current status of supported bluetooth codecs in PulseAudio.