

PulseAudio supports a variety of network protocols to communicate with clients, remote servers, and third-party software. The following list gives an idea of the features implemented in PulseAudio. Non-official third-party modules exist as well, however, the upstream doesn’t provide a guarantee of a stable API for out-of-tree modules. PulseAudio provides a framework for server extensions, and many built-in features are implemented as modules. It’s possible to connect any stream of any application to any local or remote device, configure per-stream and per-device volumes, construct sound processing chains, and more. PulseAudio provides a high flexibility for the user. It also implements numerous policies for automatic audio management and routing. It automatically detects and configures local devices and sound servers available in the local network. PulseAudio is designed to work out of the box. Many desktop environments provide such tools. This makes it possible to replace configuration files with GUI tools. It provides an abstraction layer that combines all this stuff together in one place.Ī rich API provides methods for inspecting and controlling all available objects and their both persistent and run-time properties. PulseAudio manages all audio applications, local and network streams, devices, filters, and audio I/O.

PulseAudio is designed to meet a number of goals.
#DEBIAN PULSEAUDIO DRIVERS#
PulseAudio is a sound server for POSIX OSes (mostly aiming Linux) acting as a proxy and router between hardware device drivers and applications on single or multiple hosts.

This document was last updated for PulseAudio 11.1. I’d like to thank my friends and colleagues Mikhail Baranov and Dmitriy Shilin who read early drafts of the document and provided a valuable feedback.Īlso big thanks to Tanu Kaskinen, a PulseAudio maintainer, who have found and helped to fix dozens of errors. This document tries to be neutral and provide an unbiased overview of the implemented features and design. PulseAudio tends to trigger flame wars, which I believe are non-constructive. This document reflects my personal understanding of PulseAudio, obtained from the source code, experiments, official wiki, mailing lists, and blog articles.
#DEBIAN PULSEAUDIO CODE#
Further details can be obtained from the official documentation (for configuration and client APIs) and from the source code (for internal interfaces).

It does not provide a detailed reference or tutorial for PulseAudio configuration and APIs.
