Logo

HomeAboutCommunityDownloadDocumentationPlanet


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 integer
  • aLaw: A-law encoded 8-bit integer
  • uLaw: μ-law encoded 8-bit integer
  • s16le: signed 16-bit little-endian integer
  • s16be: signed 16-bit big-endian integer
  • s16, s16ne: native-endian aliases for s16le or s16be
  • s16re: reverse-endian alias for s16le or s16be
  • float32le: 32-bit little-endian float
  • float32be: 32-bit big-endian float
  • float32, float32ne: native-endian aliases for float32le or float32be
  • float32re: reverse-endian alias for float32le or float32be
  • s32le: signed 32-bit little-endian integer
  • s32be: signed 32-bit big-endian integer
  • s32, s32ne: native-endian aliases for s32le or s32be
  • s32re: reverse-endian alias for s32le or s32be
  • 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 for s24le or s24be
  • s24re: reverse-endian alias for s24le or s24be
  • 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 for s24-32le or s24-32be
  • s24-32re: reverse-endian alias for s24-32le or s24-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: DTS
  • mpeg2-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, because pcm 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.