PulseAudio 17.0
PulseAudio is a sound server, originally created to overcome the limitations of the Enlightened Sound Daemon (EsounD). A sound server can serve many functions: Software mixing of multiple audio streams, bypassing any restrictions the hardware has. Network transparency, allowing an application to play back or record audio on a different machine than the one it is running on. Sound API abstraction, alleviating the need for multiple backends in applications to handle the wide diversity of sound systems out there. Generic hardware abstraction, giving the possibility of doing things like individual volumes per application. PulseAudio comes with many plugin modules. All audio from/to clients and audio interfaces goes through modules. PulseAudio clients can send audio to "sinks" and receive audio from "sources". A client can be GStreamer, xinelib, MPlayer or any other audio application. Only the device drivers/audio interfaces can be either sources or sinks (they are often hardware in- and out-puts). Features Extensible plugin architecture (by loading dynamic loadable modules with dlopen()) Support for static linking of modules, allowing a single binary for all your needs Module autoloading Support for more than one sink/source Good low latency behaviour Very accurate latency measurement for playback and recording. Embeddable into other software (the core is available as C library) Completely asynchronous C API, complemented by two synchronous variants for simple use in synch
Tags | audio server mixer music c |
---|---|
License | GNU LGPLv3 |
State | stable |