|
| 1 | +.TH APULSE 1 2017-10-23 "apulse" "apulse" |
| 2 | +.SH NAME |
| 3 | +.B apulse |
| 4 | +\- The PulseAudio emulator for \fBALSA\fR |
| 5 | +.SH SYNOPSIS |
| 6 | +.B apulse |
| 7 | +.RI <program-name> |
| 8 | +.RI [program-parameters]... |
| 9 | + |
| 10 | +.SH DESCRIPTION |
| 11 | + |
| 12 | +The program provides an alternative partial implementation of the PulseAudio |
| 13 | +API. It consists of a loader script and a number of shared libraries with the |
| 14 | +same names as from original PulseAudio, so applications could dynamically load |
| 15 | +them and think they are talking to PulseAudio. Internally, no separate sound |
| 16 | +mixing daemon is used. Instead, \fBapulse\fR relies on \fBALSA\fR's \fBdmix\fR, |
| 17 | +\fBdsnoop\fR, and \fBplug\fR plugins to handle multiple sound sources and |
| 18 | +capture streams running at the same time. \fBdmix\fR plugin muxes multiple |
| 19 | +playback streams; \fBdsnoop\fR plugin allow multiple applications to capture |
| 20 | +from a single microphone; and \fBplug\fR plugin transparently converts audio |
| 21 | +between various sample formats, sample rates and channel numbers. For more than |
| 22 | +a decade now, \fBALSA\fR comes with these plugins enabled and configured by |
| 23 | +default. |
| 24 | + |
| 25 | +\fBapulse\fR wasn't designed to be a drop-in replacement of PulseAudio. It's |
| 26 | +pointless, since that will be just reimplementation of original PulseAudio, |
| 27 | +with the same client-daemon architecture, required by the complete feature set. |
| 28 | +Instead, only parts of the API that are crucial to specific applications are |
| 29 | +implemented. That's why there is a loader script, named \fBapulse\fR. It |
| 30 | +updates value of LD_LIBRARY_PATH environment variable to point also to the |
| 31 | +directory where \fBapulse\fR's libraries are installed, making them available |
| 32 | +to the application. |
| 33 | + |
| 34 | +Name comes from names of both \fBALSA\fR and PulseAudio. As \fBaoss\fR was a |
| 35 | +compatibility layer between OSS programs and \fBALSA\fR, \fBapulse\fR was |
| 36 | +designed to be compatibility layer between PulseAudio applications and |
| 37 | +\fBALSA\fR. |
| 38 | + |
| 39 | +.SH RETURN VALUE |
| 40 | + |
| 41 | +\fBapulse\fR is a simple shell wrapper script that calls \fBexec\fR on the |
| 42 | +program given in parameters. Except for cases when the wrapper itself fails to |
| 43 | +load, return value is the return value of that program. |
| 44 | + |
| 45 | +.SH EXAMPLE |
| 46 | + |
| 47 | +Run a newer Firefox browser with fake PulseAudio: |
| 48 | + |
| 49 | +.nf |
| 50 | +.sp |
| 51 | + apulse firefox |
| 52 | +.fi |
| 53 | + |
| 54 | +.SH AUTHORS |
| 55 | + |
| 56 | +\fBapulse\fR was written by Rinat Ibragimov in 2014-2017. |
0 commit comments