TracNav menu
-
Home
- What is it?
- News
-
About PulseAudio
- Details
- Current Status
- Features
- Supported Operating Systems
- Related Software
- Screenshots
- Distributions
- In The Press
-
PulseAudio Community
- Mailing Lists
- IRC
- Tracking
- Patches & Bugs
- People
-
Download PulseAudio
- Requirements
- Source code
- Binaries
- Development Sources
-
Documentation
- First Steps
- The Perfect Setup
- FAQ
- Modules
- Command Line Interface
- Daemon Parameters
- Server Strings
- System-Wide Daemon
-
Developer Documentation
- Developing Clients
- Developing Modules
Developer Documentation
Developing Clients
You may browse the Doxygen generated programing documentation for the client API. (Run make doxygen to generate this documentation from the source tree)
Developing Modules
There are several reasons for writing loadable modules for PulseAudio:
- Extended device driver support
- Protocol support beyond ESOUND's protocol and the native protocol. (such as NAS or a subset of aRts)
- New programming interfaces such as XMLRPC or DBUS for controlling the daemon.
- Hooking audio event sources directly into PulseAudio (similar to module-x11-bell)
- For low latency applications such as VOIP: load the VOIP core directly into PulseAudio and have a slim GUI frontend to control it.
There is currently a little bit of documentation available how to write loadable modules for PulseAudio. Beyond than this, read the source, Luke! If you are interested in writing new modules feel free to contact the authors in case you have any questions.
