rev |
line source |
hackdorte@20007
|
1 The program provides an alternative partial implementation of the PulseAudio
|
hackdorte@20007
|
2 API. It consists of a loader script and a number of shared libraries with the
|
hackdorte@20007
|
3 same names as from original PulseAudio, so applications could dynamically
|
hackdorte@20007
|
4 load them and think they are talking to PulseAudio. Internally, no separate
|
hackdorte@20007
|
5 sound mixing daemon is used. Instead, apulse relies on ALSA's dmix, dsnoop,
|
hackdorte@20007
|
6 and plug plugins to handle multiple sound sources and capture streams running
|
hackdorte@20007
|
7 at the same time. dmix plugin muxes multiple playback streams; dsnoop plugin
|
hackdorte@20007
|
8 allow multiple applications to capture from a single microphone; and plug
|
hackdorte@20007
|
9 plugin transparently converts audio between various sample formats, sample
|
hackdorte@20007
|
10 rates and channel numbers. For more than a decade now, ALSA comes with these
|
hackdorte@20007
|
11 plugins enabled and configured by default.
|
hackdorte@20007
|
12
|
hackdorte@20007
|
13 apulse wasn't designed to be a drop-in replacement of PulseAudio. It's
|
hackdorte@20007
|
14 pointless, since that will be just reimplementation of original PulseAudio,
|
hackdorte@20007
|
15 with the same client-daemon architecture, required by the complete feature
|
hackdorte@20007
|
16 set. Instead, only parts of the API that are crucial to specific applications
|
hackdorte@20007
|
17 are implemented. That's why there is a loader script, named apulse. It
|
hackdorte@20007
|
18 updates value of LD_LIBRARY_PATH environment variable to point also to the
|
hackdorte@20007
|
19 directory where apulse's libraries are installed, making them available to
|
hackdorte@20007
|
20 the application.
|
hackdorte@20007
|
21
|
hackdorte@20007
|
22 Name comes from names of both ALSA and PulseAudio. As aoss was a
|
hackdorte@20007
|
23 compatibility layer between OSS programs and ALSA, apulse was designed to be
|
hackdorte@20007
|
24 compatibility layer between PulseAudio applications and ALSA.
|