Developer Documentation

Developing Clients

You may browse the Doxygen generated programming documentation for the client API. (Run make doxygen to generate this documentation from the source tree).

If you want to write a volume control application, make sure to read this.

Also, make sure to set properties on all PA connections, make sure to read this.

*Finally, make sure you know everything about latency control! *

Here are some examples that uses the async (complex) API, Sample Async Device List and Sample Async Playback.

Talk to PA over D-Bus

Using the native protocol as described is the most common way to talk to PA, but PA can expose D-Bus interfaces as well:

Developing PulseAudio

Instructions for building and installing the current development version.

You can contribute to PulseAudio via Gitlab, by filing issues on our tracker or submitting merge requests.

When working on PulseAudio, please mind the Coding Style.

Developing Modules

There are several reasons for writing loadable modules for PulseAudio:

Porting to other platforms

Emerging Features