PulseAudio is capable of handling a multitude of sample formats, rates and channels, transparently converting and mixing them as needed.
PulseAudio supports the following sample formats:
- PA_SAMPLE_U8 - Unsigned 8 bit PCM.
- PA_SAMPLE_S16LE - Signed 16 bit PCM, little endian.
- PA_SAMPLE_S16BE - Signed 16 bit PCM, big endian.
- PA_SAMPLE_FLOAT32LE - 32 bit IEEE floating point PCM, little endian.
- PA_SAMPLE_FLOAT32BE - 32 bit IEEE floating point PCM, big endian.
- PA_SAMPLE_ALAW - 8 bit a-Law.
- PA_SAMPLE_ULAW - 8 bit mu-Law.
The floating point sample formats have the range from -1 to 1.
The sample formats that are sensitive to endianness have convenience macros for native endian (NE), and reverse endian (RE).
PulseAudio supports any sample rate between 1 Hz and 4 GHz. There is no point trying to exceed the sample rate of the output device though as the signal will only get downsampled, consuming CPU on the machine running the server.
PulseAudio supports up to 16 individiual channels. The order of the channels is up to the application, but they must be continous. To map channels to speakers, see Channel Maps.
The PulseAudio library contains a number of convenience functions to do calculations on sample formats:
The library also contains a couple of other convenience functions:
Generated on Wed Jan 23 11:06:30 2008 for PulseAudio by
1.5.4