diff options
-rw-r--r-- | Makefile.am | 18 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | configure.ac | 28 | ||||
-rw-r--r-- | doc/FAQ.html.in | 295 | ||||
-rw-r--r-- | doc/Makefile.am | 23 | ||||
-rw-r--r-- | doc/README.html.in | 356 | ||||
-rw-r--r-- | doc/cli.html.in | 220 | ||||
-rw-r--r-- | doc/daemon.html.in | 88 | ||||
-rw-r--r-- | doc/modules.html.in | 510 | ||||
-rw-r--r-- | doc/style.css | 27 |
10 files changed, 3 insertions, 1563 deletions
diff --git a/Makefile.am b/Makefile.am index 8a0eaf49..0884476d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. -EXTRA_DIST = bootstrap.sh LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in libtool.m4 ltdl.m4 +EXTRA_DIST = bootstrap.sh LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in libtool.m4 ltdl.m4 README SUBDIRS=libltdl src doc doxygen MAINTAINERCLEANFILES = @@ -41,27 +41,11 @@ pkgconfig_DATA += \ libpulse-mainloop-glib12.pc endif -if USE_LYNX -EXTRA_DIST += README -MAINTAINERCLEANFILES += README -noinst_DATA += README - -README: - rm -f README - $(MAKE) -C doc README - cd $(srcdir) && ln -s doc/README README -endif - homepage: all dist doxygen test -d $$HOME/homepage/private mkdir -p $$HOME/homepage/private/projects/pulseaudio $$HOME/homepage/private/projects/pulseaudio/doxygen cp pulseaudio-@PACKAGE_VERSION@.tar.gz $$HOME/homepage/private/projects/pulseaudio - cp doc/README.html doc/FAQ.html doc/cli.html doc/daemon.html doc/modules.html doc/style.css $$HOME/homepage/private/projects/pulseaudio cp -a doxygen/html/* $$HOME/homepage/private/projects/pulseaudio/doxygen - ln -sf $$HOME/homepage/private/projects/pulseaudio/README.html $$HOME/homepage/private/projects/pulseaudio/index.html - -#distcleancheck: -# @: doxygen: $(MAKE) -C doxygen doxygen @@ -0,0 +1 @@ +For more information see http://pulseaudio.org/ diff --git a/configure.ac b/configure.ac index 3b02df5a..6b82effd 100644 --- a/configure.ac +++ b/configure.ac @@ -100,29 +100,6 @@ if test "x$GCC" = "xyes" ; then done fi -# LYNX documentation generation -AC_ARG_ENABLE(lynx, - AC_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), -[case "${enableval}" in - yes) lynx=yes ;; - no) lynx=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; -esac],[lynx=auto]) - -if test x$lynx != xno ; then - AC_CHECK_PROG(have_lynx, lynx, yes, no) - - if test x$have_lynx = xno ; then - if test x$lynx = xyes ; then - AC_MSG_ERROR([*** lynx not found]) - else - AC_MSG_WARN([*** lynx not found, plain text README will not be built ***]) - fi - fi -fi - -AM_CONDITIONAL([USE_LYNX], [test "x$have_lynx" = xyes]) - #### libtool stuff #### AC_LTDL_ENABLE_INSTALL @@ -701,13 +678,8 @@ libpulse-browse.pc libpulse-mainloop-glib.pc libpulse-mainloop-glib12.pc doc/Makefile -doc/README.html -doc/cli.html -doc/daemon.html -doc/modules.html doxygen/Makefile doxygen/doxygen.conf src/pulse/version.h -doc/FAQ.html ]) AC_OUTPUT diff --git a/doc/FAQ.html.in b/doc/FAQ.html.in deleted file mode 100644 index 39b7390a..00000000 --- a/doc/FAQ.html.in +++ /dev/null @@ -1,295 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title>PulseAudio: FAQ</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body> - - -<h1>Frequently Asked Questions</h1> - -<ol> - <li><p><b>How does PulseAudio compare with ESOUND/aRts/NAS?</b></p> - - <p>PulseAudio is sound daemon similar to ESOUND and NAS, but much more - powerful. aRts is a realtime-synthesizer-cum-sound-server, i.e. it - does much more than PulseAudio. However, I believe that PulseAudio - does what it does much better than any other free sound server.</p> - </li> - - <li><p><b>What about ESOUND compatibility?</b></p> - <p>PulseAudio is a drop in replacement for ESOUND. That means: you can - load a esound compatibility module which implements an ESOUND - compatible protocol which allows you to use most of the classic ESOUND - compatible programs (including the command line programs like - <tt>esdcat</tt>).</p> - </li> - - <li><p><b>Is PulseAudio a GNOME program?</b></p> - <p>No, PulseAudio has no dependency on GNOME/GTK/GLIB. All it requires - is a UNIX-like operating system and very few dependency - libraries. However, the accompanying GUI tools are written with - gtkmm, i.e. require both GLIB and GTK.</p></li> - - <li><p><b>Can I integrate PulseAudio in my GLIB/GTK/GNOME application?</b></p> - <p>Yes! PulseAudio comes with a GLIB main loop adapter. You can embed - both the client library and the daemon (!) into your GLIB based - application.</p></li> - - <li><p><b>Can I integrate PulseAudio in my Qt/KDE application?</b></p> - <p>Yes! PulseAudio uses a main loop abstraction layer that allows you - to integrate PulseAudio in any program that supports main - loops. Unfortunately there is no adapter for Qt publicly available yet.</p></li> - - <li><p><b>I want to write a new driver for PulseAudio, are there any docs?</b></p> - <p>Currently, only the client API is documented with doxygen. Read - the source and base your work on a simple module like - <tt>module-pipe-sink</tt>.</p></li> - - <li><p><b>What about compatibility with NAS?</b></p> - <p>Is not available (yet?). It is doable, but noone has implemented it yet.</p></li> - - <li><p><b>What about compatibility with aRts?</b></p> - <p>Is not available. Since aRts is as synthesizer application you'd have to - reimplement very much code for PulseAudio. It should be easy to - implement limited support for <tt>libartsc</tt> based - applications. Noone has done this yet. It is probably a better idea to - run <tt>arts</tt> on top of PulseAudio (through a PulseAudio driver - for aRts, which nobody has written yet). Another solution would be to - embed PulseAudio in the aRts process.</p></li> - - <li><p><b>I often hear noises when playing back with PulseAudio, what can I do?</b></p> - <p>There are to possible solutions: run PulseAudio with argument -<tt>--high-priority=1</tt> and make yourself member of the group -<tt>realtime</tt>, or increase the fragment sizes of the audio - drivers. The former will allow PulseAudio to activate - <tt>SCHED_FIFO</tt> high priority scheduling (root rights are dropped - immediately after this). Keep in mind that this is a potential security hole!</p></li> - - <li><p><b>The <tt>pulseaudio</tt> executable is installed SUID root by default. Why this? Isn't this a potential security hole?</b></p> - - <p>PulseAudio activates <tt>SCHED_FIFO</tt> scheduling if the user -passes <tt>--high-priority=1</tt>. This will only succeed when -executed as root, therefore the binary is marked SUID root by -default. Yes, this is a potential security hole. However, PulseAudio -tries its best to minimize the security threat: immediately after -startup PulseAudio drops all capabilities except -<tt>CAP_SYS_NICE</tt> (At least on systems that support it, like Linux; see <tt>man 7 -capabilities</tt> for more information). If the calling user is not a -member of the group <tt>realtime</tt> (which is required to have a GID -< 1000), root rights are dropped immediately. This means, you can -install <tt>pulseaudio</tt> SUID root, but only a subset of your users (the -members of the group <tt>realtime</tt>) may make use of realtime -scheduling. Keep in mind that these users might load their own binary -modules into the PulseAudio daemon which may freeze the machine. The -daemon has a minimal protection against CPU hogging (the daemon is -killed after hogging more than 70% CPU for 5 seconds), but this may -be circumvented easily by evildoers.</p></li> - - <li><p><b>I want to run PulseAudio only when it is needed, how do I do this?</b></p> - - <p>Set <tt>autospawn = yes</tt> in <tt>client.conf</tt>. That -configuration file may be found either in <tt>/etc/pulse/</tt> or -in <tt>~/.pulse/</tt>.</p></li> - - <li><p><b>How do I list all PulseAudio modules installed?</b></p> - - <p><tt>pulseaudio --dump-modules</tt></p> - - <p>Add <tt>-v</tt> for terse usage instructions.</p> - -<li><p><b>How do I use PulseAudio over the network?</b></p> - -<p>Just set <tt>$PULSE_SERVER</tt> to the host name of the PulseAudio -server. For authentication you need the same auth cookies on all sides. For -that copy <tt>~./pulse-cookie</tt> to all clients that shall -be allowed to connect.</p> - -<p>Alternatively the authorization cookies can be stored in the X11 server.</p></li> - -<li><p><b>Is PulseAudio capable of providing synchronized audio playback over the network for movie players like <tt>mplayer</tt>?</b></p> - -<p>Yes! Unless your network is congested in some way (i.e. transfer latencies vary strongly) it works perfectly. Drop me an email for experimental patches for MPlayer.</p> - - <li><p><b>What environment variables does PulseAudio care about?</b></p> - -<p>The client honors: <tt>PULSE_SINK</tt> (default sink to connect to), <tt>PULSE_SOURCE</tt> (default source to connect to), <tt>PULSE_SERVER</tt> (default server to connect to, like <tt>ESPEAKER</tt>), <tt>PULSE_BINARY</tt> (the binary to start when autospawning a daemon), <tt>PULSE_CLIENTCONFIG</tt> (path to the client configuration file).</p> - -<p>The daemon honors: <tt>PULSE_SCRIPT</tt> (default CLI script file run after startup), <tt>PULSE_CONFIG</tt> (default daemon configuration file), <tt>PULSE_DLPATH</tt> (colon separated list of paths where to look for modules)</p></li> - - -<li><p><b>I saw that SIGUSR2 provokes loading of the module <tt>module-cli-protocol-unix</tt>. But how do I make use of that?</b></p> - -<p>A brilliant guy named Lennart Poettering once wrote a nifty tool -for that purpose: <a -href="http://0pointer.de/lennart/projects/bidilink/">bidilink</a>. To -connect to a running PulseAudio daemon try using the following commands:</p> - -<pre>killall -USR2 pulseaudio -bidilink unix-client:/tmp/pulse-$USER/cli</pre> - -<p><i>BTW: Someone should package this great tool for Debian!</i></p> - -<p><b>New:</b> There's now a tool <tt>pacmd</tt> that automates sending SIGUSR2 to the daemon and running a bidilink like tool for you.</p> -</li> - -<li><p><b>How do the PulseAudio libraries decide where to connect to?</b></p> -<p>The following rule applies:</p> -<ol> - <li>If the the application using the library specifies a server to connect to it is used. If the connection fails, the library fails too.</li> - <li>If the environment variable <tt>PULSE_SERVER</tt> is defined the library connects to that server. If the connection fails, the library fails too.</li> - <li>If <tt>$DISPLAY</tt> is set, the library tries to connect to that server and looks for the root window property <tt>POYLP_SERVER</tt> for the host to connect to. If <tt>PULSE_COOKIE</tt> is set it is used as authentication cookie.</li> - <li>If the client configuration file (<tt>~/.pulse/client.conf</tt> or <tt>/etc/pulse/client.conf</tt>) sets the server address, the library connects to that server. If the connection fails, the library fails too.</li> - <li>The library tries to connect to the default local UNIX socket for PulseAudio servers. If the connection fails, it proceeds with the next item.</li> - <li>The library tries to connect to the default local TCP socket for PulseAudio servers. If the connection fails, it proceeds with the next item.</li> - <li>If <tt>$DISPLAY</tt> is set, the library tries to connect to the default TCP port of that host. If the connection fails, it proceeds with the next item.</li> - <li>The connection fails.</li> -</ol> -</li> - -<li><p><b>Why the heck does libpulse link against libX11?</b></p> -<p>The PulseAudio client libraries look for some X11 root window -properties for the credentials of the PulseAudio server to access. You -may compile PulseAudio without X11 for disabling this feature.</p></li> - -<li><p><b>How can I use PulseAudio as an RTP based N:N multicast -conferencing solution for the LAN?</b></p> <p>After loading all the -necessary audio drivers for recording and playback, just load the RTP -reciever and sender modules with default parameters:</p> - -<pre> -load-module module-rtp-send -load-module module-rtp-recv -</pre> - -<p>As long as the PulseAudio daemon runs, the microphone data will be -streamed to the network and the data from other hosts is played back -locally. Please note that this may cause quite a lot of traffic. Hence -consider passing <tt>rate=8000 format=ulaw channels=1</tt> to the -sender module to save bandwith while still maintaining good quality -for speech transmission.</p></li> - -<li><p><b>What is this RTP/SDP/SAP thing all about?</b></p> - -<p>RTP is the <i>Realtime Transfer Protocol</i>. It is a well-known -protocol for transferring audio and video data over IP. SDP is the <i>Session -Description Protocol</i> and can be used to describe RTP sessions. SAP -is the <i>Session Announcement Protocol</i> and can be used to -announce RTP sessions that are described with SDP. (Modern SIP based VoIP phones use RTP/SDP for their sessions, too)</p> - -<p>All three protocols are defined in IETF RFCs (RFC3550, RFC3551, -RFC2327, RFC2327). They can be used in both multicast and unicast -fashions. PulseAudio exclusively uses multicast RTP/SDP/SAP containing audio data.</p> - -<p>For more information about using these technologies with PulseAudio have a look on the <a href="modules.html#rtp">respective module's documentation</a>. - -<li><p><b>How can I use PulseAudio to stream music from my main PC to my LAN with multiple PCs with speakers?</b></p> - -<p>On the sender side create an RTP sink:</p> - -<pre> -load-module module-null-sink sink_name=rtp -load-module module-rtp-send source=rtp_monitor -set-default-sink rtp -</pre> - -<p>This will make <tt>rtp</tt> the default sink, i.e. all applications will write to this virtual RTP device by default.</p> - -<p>On the client sides just load the reciever module:</p> -<pre> -load-module module-rtp-recv -</pre> - -<p>Now you can play your favourite music on the sender side and all clients will output it simultaneously.</p> - - -<p>BTW: You can have more than one sender machine set up like this. The audio data will be mixed on the client side.</p></li> - -<li><p><b>How can I use PulseAudio to share a single LINE-IN/MIC jack on the entire LAN?</b></p> - -<p>On the sender side simply load the RTP sender module:</p> - -<pre> -load-module module-rtp-send -</pre> - -<p>On the reciever sides, create an RTP source:</p> - -<pre> -load-module module-null-sink sink_name=rtp -load-module module-rtp-recv sink=rtp -set-default-source rtp_monitor -</pre> - -<p>Now the audio data will be available from the default source <tt>rtp_monitor</tt>.</p></li> - -<li><p><b>When sending multicast RTP traffic it is recieved on the entire LAN but not by the sender machine itself!</b></p> - -<p>Pass <tt>loop=1</tt> to the sender module!</p></li> - -<li><p><b>Can I have more than one multicast RTP group?</b></p> - -<p>Yes! Simply use a new multicast group address. Use -the <tt>destination</tt>/<tt>sap_address</tt> arguments of the RTP -modules to select them. Choose your group addresses from the range -<tt>225.0.0.x</tt> to make sure the audio data never leaves the LAN.</p></li> - - -<li><p><b>Can I use PulseAudio to playback music on two sound cards simultaneously?</b></p> - -<p>Yes! Use <a href="modules.html#module-combine"><tt>module-combine</tt></a> for that.</p> - -<pre> -load-module module-oss-mmap device="/dev/dsp" sink_name=output0 -load-module module-oss-mmap device="/dev/dsp1" sink_name=output1 -load-module module-combine sink_name=combined master=output0 slaves=output1 -set-sink-default combined -</pre> - -<p>This will combine the two sinks <tt>output0</tt> and -<tt>output1</tt> into a new sink <tt>combined</tt>. Every sample -written to the latter will be forwarded to the former two. PulseAudio -will make sure to adjust the sample rate of the slave device in case -it deviates from the master device. You can have more than one slave -sink attached to the combined sink, and hence combine even three and -more sound cards.</p> </li> - -<li><p><b>Can I use PulseAudio to combine two stereo soundcards into a virtual surround sound card?</b></p> - -<p>Yes! You can use use <a href="modules.html#module-combine"><tt>module-combine</tt></a> for that.</p> - -<pre> -load-module module-oss-mmap device="/dev/dsp" sink_name=output0 channel_map=left,right channels=2 -load-module module-oss-mmap device="/dev/dsp1" sink_name=output1 channel_map=rear-left,rear-right channels=2 -load-module module-combine sink_name=combined master=output0 slaves=output1 channel_map=left,right,rear-left,rear-right channels=4 -</pre> - -<p>This is mostly identical to the previous example. However, this -time we manually specify the channel mappings for the sinks to make -sure everything is routed correctly.</p> - -<p>Please keep in mind that PulseAudio will constantly adjust the -sample rate to compensate for the deviating quartzes of the sound -devices. This is not perfect, however. Deviations in a range of -1/44100s (or 1/48000s depending on the sampling frequency) can not be -compensated. The human ear will decode these deviations as minor -movements (less than 1cm) of the positions of the sound sources -you hear. </p> - -</li> - -<li><p><b>Why did you rename Polypaudio to PulseAudio?</b></p> - -<p>Please read this <a href="http://0pointer.de/blog/projects/pulse.html">blog story</a> for an explanation.</p> - -</li> - -</ol> - -<hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, April 2006</address> -<div class="grey"><i>$Id$</i></div> -</body> </html> diff --git a/doc/Makefile.am b/doc/Makefile.am index a58911ad..1e9fe244 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -16,26 +16,5 @@ # along with PulseAudio; if not, write to the Free Software Foundation, # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. -noinst_DATA = README.html cli.html modules.html daemon.html FAQ.html -EXTRA_DIST = $(noinst_DATA) style.css README.html.in cli.html.in modules.html.in daemon.html.in todo FAQ.html.in - -MAINTAINERCLEANFILES = README.html cli.html modules.html daemon.html FAQ.html -CLEANFILES = - -if USE_LYNX -README: README.html - lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ - -noinst_DATA += README -CLEANFILES += README -endif - -tidy: README.html cli.html modules.html daemon.html - tidy -qe < README.html ; true - tidy -qe < cli.html ; true - tidy -qe < daemon.html ; true - tidy -qe < modules.html ; true - tidy -qe < FAQ.html ; true - -.PHONY: tidy +EXTRA_DIST = todo diff --git a/doc/README.html.in b/doc/README.html.in deleted file mode 100644 index 4937deb3..00000000 --- a/doc/README.html.in +++ /dev/null @@ -1,356 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - -<head> -<title>PulseAudio @PACKAGE_VERSION@</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body> -<h1><a name="top">PulseAudio @PACKAGE_VERSION@</a></h1> - -<p><i>Copyright 2004-2006 Lennart Poettering <@PACKAGE_BUGREPORT@></i> and Pierre Ossman</p> - -<ul class="toc"> - <li><a href="#license">License</a></li> - <li><a href="#news">News</a></li> - <li><a href="#overview">Overview</a></li> - <li><a href="#status">Current Status</a></li> - <li><a href="#documentation">Documentation</a></li> - <li><a href="#requirements">Requirements</a></li> - <li><a href="#installation">Installation</a></li> - <li><a href="#acks">Acknowledgements</a></li> - <li><a href="#download">Download</a></li> - <li><a href="#community">Community</a></li> -</ul> - -<h2><a name="license">License</a></h2> - -<p>This program is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version.</p> - -<p>This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details.</p> - -<p>You should have received a copy of the GNU Lesser General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p> - -<h2><a name="news">News</a></h2> - -<div class="news-date">Fri Jul 7 2006: </div> <p class="news-text"><a -href="@PACKAGE_URL@pulseaudio-0.9.2.tar.gz">Version 0.9.2</a> -released; changes include: rename project to PulseAudio (see <a -href="http://0pointer.de/blog/projects/pulse.html">this blog -article</a> for an explanation); increase maximum number of concurrent -connections; fix latency interpolation; add support for reverse endian -sound cards; add support for recording in <tt>padsp</tt>; reenable CPU -load limiter; other bugfixes</p> - -<div class="news-date">Fri Jun 2 2006: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.9.1.tar.gz">Version 0.9.1</a> -released; changes include: load modules even when libtool <tt>.la</tt> -files are missing; generate better ALSA device names from -<tt>module-detect</tt>; if an ALSA device doesn't support the -requested number of channels or the frequency, accept what ALSA -suggests instead; amd64 portability; drop <tt>.sh</tt> suffix of -<tt>esdcompat.sh</tt>; build system fixes; No API or ABI changes were made</p> - -<div class="news-date">Fri May 26 2006: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.9.0.tar.gz">Version 0.9.0</a> -released; changes include: new module <tt>module-volume-restore</tt>; -new OSS API emulation tool <tt>padsp</tt>; require valid UTF8 strings -everywhere; properly support ALSA channel maps for surround sound; -increase maximum number of channels per stream to 32; add new threaded -main loop API for synchronous programs; introduce real shared object -versioning; a few API additions; many, many bugfixes</p> - -<div class="news-date">Fri Apr 28 2006: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.8.1.tar.gz">Version 0.8.1</a> -released; changes include: support for specifying the channel map on -the command lines of <tt>paplay</tt> and <tt>pacat</tt> and as -arguments to the driver modules; ALSA hardware mixer compatibility; -fix linking; properly remove <tt>PF_UNIX</tt> sockets when unloading -protocol modules; fix sample cache; many other fixes</p> - -<div class="news-date">Thu Apr 13 2006: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.8.tar.gz">Version 0.8</a> released; -changes include: too many to count - consider reading <a href="http://0pointer.de/blog/projects/polypaudio-0.8.html">this blog entry</a> for more information; many, many minor fixes.</p> - -<div class="news-date">Sun Nov 21 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.7.tar.gz">Version 0.7</a> released; -changes include: IPv6 support; PID file support; publish credentials -in X11 root window (<tt>module-x11-publish</tt>; new tool <tt>pacmd</tt>; ESOUND backend; new command <tt>load-sample-dir-lazy</tt>; many, many minor fixes.</p> - -<div class="news-date">Thu Oct 28 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.6.tar.gz">Version 0.6</a> released; -changes include: TCP wrappers support; don't load the complete sound -file into memory when playing back using <tt>pa_play_file()</tt>; -autoload API change; don't load all sound files as FLOAT32; shorten -default buffers; client-side latency interpolation; add new user -volume metrics; add <tt>module-tunnel</tt>, <tt>module-null-sink</tt>, -<tt>module-match</tt> and new tool <tt>paplay</tt>; new API version -macros; many client API improvements; correctly lock cookie file -generation; correctly lock daemon autospawning; print daemon layout to -STDERR on SIGHUP; new options for <tt>pacat</tt>: allow sample type specification.</p> - -<div class="news-date">Mon Sep 24 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.5.1.tar.gz">Version 0.5.1</a> released; -changes include: improve esound protocol compatibility; fix -autospawning via <tt>libesd</tt>; make use of POSIX capabilities; -allow <tt>SCHED_FIFO</tt> scheduling only for users in group -<tt>realtime</tt>; minor build system fix.</p> - -<div class="news-date">Mon Sep 20 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.5.tar.gz">Version 0.5</a> released; -changes include: extensive API improvements, new module -<tt>module-combine</tt> for combining multiple sound cards into one, -gcc 2.95 compatibility, configuration files, add "lazy" samples, -support for source and network latency measurements, add -<tt>module-pipe-source</tt>, many other fixes and improvements.</p> - -<div class="news-date">Wed Sep 8 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.4.tar.gz">Version 0.4</a> released; -changes include: daemon auto spawning, support for <tt>SCHED_FIFO</tt> scheduling, three new modules, proper logging, CPU load watchdog, many fixes.</p> - -<div class="news-date">Fri Aug 27 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.3.tar.gz">Version 0.3</a> released; -changes include: support for both glib 2.0 and glib 1.2, future cancellation, API updates, many fixes, relicense client library to LGPL.</p> - -<div class="news-date">Fri Aug 20 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.2.tar.gz">Version 0.2</a> released; -changes include: added sample cache, introspection API, client API -documentation, module autoloading, glib support, a module for intercepting X11 bell events, and much more.</p> - -<div class="news-date">Sat Jul 17 2004: </div> <p class="news-text"><a -href="@PACKAGE_URL@polypaudio-0.1.tar.gz">Version 0.1</a> released</p> - -<h2><a name="overview">Overview</a></h2> - -<p><a href="http://pulseaudio.org/">PulseAudio</a> is a networked sound server for Linux and other -Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in -replacement for the <a -href="http://www.tux.org/~ricdude/apps.html">Enlightened Sound -Daemon</a> (ESOUND). In addition to the features ESOUND provides -PulseAudio has:</p> - -<ul> - <li>Extensible plugin architecture (by loading dynamic loadable modules with <tt>dlopen()</tt>)</li> - <li>Support for more than one sink/source</li> - <li>Better low latency behaviour</li> - <li>Embedabble into other software (the core is available as C library)</li> - <li>Completely asynchronous C API</li> - <li>Simple command line interface for reconfiguring the daemon while running</li> - <li>Flexible, implicit sample type conversion and resampling</li> - <li>"Zero-Copy" architecture</li> - <li>Module autoloading</li> - <li>Very accurate latency measurement for playback and recording.</li> - <li>May be used to combine multiple sound cards to one (with sample rate adjustment)</li> - <li>Client side latency interpolation</li> - <li>Ability to fully synchronize multiple playback streams</li> -</ul> - -<p>Both the core and the client API are completely asynchronous making -use of a simple main loop abstraction layer. This allows easy -integration with asynchronous applications using the -<tt>glib</tt>/<tt>gtk</tt> mainloop. Since the asynchronous API -available through <tt>libpulse</tt> is quite difficult to use there is -a simplified synchronous API wrapper <tt>libpulse-simple</tt> -available. A simple main loop implementation is available as well.</p> - -<p>The following modules are currently available:</p> - -<ul> - <li><tt>module-oss</tt>: driver for <a href="http://www.opensound.com">Open Sound System</a> (OSS) audio sinks and sources.</li> - <li><tt>module-oss-mmap</tt>: same as above, but uses <tt>mmap()</tt> access to the audio buffer. Not as compatible bot more accurate in latency calculations</li> - <li><tt>module-alsa-sink</tt>, <tt>module-alsa-source</tt>: drivers for <a href="http://www.alsa-project.org/">Advanced Linux -Sound Architecture</a> (ALSA) sinks and sources</li> - <li><tt>module-solaris</tt>: drivers for Solaris audio sinks and sources</li> - <li><tt>module-waveout</tt>: drivers for Microsoft Windows audio sinks and sources</li> - <li><tt>module-pipe-sink</tt>, <tt>module-pipe-source</tt>: demonstration module providing UNIX FIFOs backed sinks/sources</li> - <li><tt>module-combine</tt>: combine multiple sinks into one, adjusting the sample rate if the their clocks deviate.</li> - <li><tt>module-sine</tt>: a sine generate sink input.</li> - <li><tt>module-x11-bell</tt>: play a sample from the sample cache on every X11 bell event.</li> - <li><tt>module-x11-publish</tt>: store PulseAudio credentials in the X11 root window.</li> - <li><tt>module-esound-protocol-tcp</tt>, <tt>module-esound-protocol-unix</tt>: <a href="http://www.tux.org/~ricdude/apps.html">ESOUND</a> compatibility modules (for TCP/IP resp. UNIX domain sockets)</li> - <li><tt>module-native-protocol-tcp</tt>, <tt>module-native-protocol-unix</tt>: Native PulseAudio protocol (for TCP/IP resp. UNIX domain sockets)</li> - <li><tt>module-simple-protocol-tcp</tt>, <tt>module-simple-protocol-unix</tt>: Simplistic protocol for playback/capture for usage with tools like <tt>netcat</tt> (for TCP/IP resp. UNIX domain sockets)</li> - <li><tt>module-cli-protocol-tcp</tt>, <tt>module-cli-protocol-unix</tt>, <tt>module-cli</tt>: Expose PulseAudio's internals whith a simple command line interface. (for TCP/IP resp. UNIX domain sockets resp. STDIN/STDOUT)</li> - <li><tt>module-http-protocol-tcp</tt>: Spawns a small HTTP server which can be used to introspect the PulseAudio server with a web browser.</li> - <li><tt>module-tunnel-sink</tt>, <tt>module-tunnel-source</tt>: make sinks/sources from other hosts available locally.</li> - <li><tt>module-match</tt>: adjust volume automatically for newly created playback streams based on a regular expression matching table.</li> - <li><tt>module-volume-restore</tt>: much like <tt>module-match</tt>, but create rules fully automatically based on the client name.</li> - <li><tt>module-null-sink</tt>: a clocked sink similar to <tt>/dev/null</tt>.</li> - <li><tt>module-esound-sink</tt>: a sink for forwarding audio data to an <a href="http://www.tux.org/~ricdude/apps.html">ESOUND</a> server.</li> - <li><tt>module-detect</tt>: a module which automatically detects what sound hardware is available locally and which loads the required driver modules.</li> - <li><tt>module-lirc</tt>: a module to control the volume of a sink with infrared remote controls supported by LIRC.</li> - <li><tt>module-mmkbd-evdev</tt>: a module to control the volume of a sink with the special volume keys of a multimeda keyboard.</li> - <li><tt>module-zeroconf-publish</tt>: a module to publish local sources/sinks using mDNS zeroconf.</li> - <li><tt>module-rtp-send</tt>, <tt>module-rtp-recv</tt>: modules to implement RTP/SAP/SDP based audio streaming.</li> - <li><tt>module-jack-sink</tt>, <tt>module-jack-source</tt>: connect to a <a href="http://jackit.sourceforge.net/">JACK Audio Connection Kit</a> server. (A sound server for professional audio production)</li> -</ul> - -<p>A GTK GUI manager application for PulseAudio is the <a -href="http://0pointer.de/lennart/projects/paman/">PulseAudio -Manager</a>. Other GTK GUI tool for PulseAudio are the <a -href="http://0pointer.de/lennart/projects/pavumeter">PulseAudio Volume -Meter</a>, <a -href="http://0pointer.de/lennart/projects/padevchooser">PulseAudio Device Chooser</a> and the <a -href="http://0pointer.de/lennart/projects/pavucontrol">PulseAudio Volume -Control</a> .</p> - -<p>There are output plugins for <a -href="http://0pointer.de/lennart/projects/xmms-pulse/">XMMS</a>, <a -href="http://0pointer.de/lennart/projects/libao-pulse/">libao</a> -(merged in <tt>libao</tt> SVN) and <a -href="http://0pointer.de/lennart/projects/gst-pulse/">gstreamer</a> -(merged in <tt>gstreamer-plugins</tt> CVS).</p> - -<p>PulseAudio was formerly known as Polypaudio.</p> - -<h2><a name="status">Current Status</a></h2> - -<p>Version @PACKAGE_VERSION@ is quite usable. It matches and supersedes ESOUND's feature set in nearly all areas.</p> - -<h2><a name="documentation">Documentation</a></h2> - -<p>There is some preliminary documentation available: <a -href="modules.html"><tt>modules.html</tt></a>, <a -href="cli.html"><tt>cli.html</tt></a>, <a -href="daemon.html"><tt>daemon.html</tt></a> and <a href="FAQ.html"><tt>FAQ.html</tt></a>.</p> - -<p>There is a <a href="http://www.edgewall.com/products/trac/">Trac</a> based <a href="http://0pointer.de/trac/pulseaudio/">Wiki for PulseAudio</a> available.</p> - -<h3>First Steps</h3> - -<p>Simply start the PulseAudio daemon with the argument <tt>-nC</tt></p> - -<pre>pulseaudio -nC</pre> - -<p>This will present you a screen like this:</p> - -<pre>Welcome to PulseAudio! Use "help" for usage information. ->>> </pre> - -<p>Now you can issue CLI commands as described in <a -href="cli.html"><tt>cli.html</tt></a>. Another way to start -PulseAudio is by specifying a configuration script like that one included in the distribution on the -command line :</p> - -<pre>pulseaudio -nF pulseaudio.pa</pre> - -<p>This will load some drivers and protocols automatically.</p> - -<p>The best idea is to configure your daemon in <tt>/etc/pulse/daemon.conf</tt> and <tt>/etc/pulse/default.pa</tt> and to run PulseAudio without any arguments.</p> - -<p><b>Beware!</b> Unless you pass the option <tt>--sysconfdir=/etc</tt> to -<tt>configure</tt>, the directory <tt>/etc/pulse/</tt> is really -<tt>/usr/local/etc/pulse/</tt>.</p> - -<h3>Developing PulseAudio Clients</h3> - -<p>You may browse the <a href="http://www.doxygen.org/">Doxygen</a> generated <a -href="http://0pointer.de/lennart/projects/pulseaudio/doxygen/">programing -documentation</a> for the client API. (Run <tt>make doxygen</tt> to generate this documentation from the source tree)</p> - -<h3>Developing PulseAudio Modules</h3> - -<p>There are several reasons for writing loadable modules for PulseAudio:</p> - -<ul> - <li>Extended device driver support</li> - <li>Protocol support beyond ESOUND's protocol and the native protocol. (such as NAS or a subset of aRts)</li> - <li>New programming interfaces such as XMLRPC or DBUS for controlling the daemon.</li> - <li>Hooking audio event sources directly into PulseAudio (similar to <tt>module-x11-bell</tt>)</li> - <li>For low latency applications such as VOIP: load the VOIP core directly into PulseAudio and have a slim GUI frontend to control it.</li> -</ul> - -<p>There is currently no documentation how to write loadable modules -for PulseAudio. <i>Read the source, Luke!</i> If you are interested in -writing new modules feel free to contact the author in case you have any -questions.</p> - -<h2><a name="requirements">Requirements</a></h2> - -<p>Currently, PulseAudio> is tested on Linux, FreeBSD, Solaris and Microsoft Windows. It requires an OSS, ALSA, Win32 or Solaris compatible soundcard.</p> - -<p>PulseAudio was developed and tested on Debian GNU/Linux -"testing" from November 2004, it should work on most other Linux -distributions (and maybe Unix versions) since it uses GNU autoconf and -GNU libtool for source code configuration and shared library -management.</p> - -<p>Pulseaudio needs <a -href="http://www.mega-nerd.com/SRC/">Secret Rabbit Code (aka -<tt>libsamplerate</tt>)</a>, <a -href="http://www.mega-nerd.com/libsndfile"><tt>libsndfile</tt></a>, <a -href="http://liboil.freedesktop.org/wiki/"><tt>liboil</tt></a>.</p> - -<p>Optionally it can make use of <tt>libwrap</tt>, <a -href="http://www.alsa-project.org/">alsa-lib</a>, <a -href="http://0pointer.de/lennart/projects/libasyncns/">libasyncns</a>, -<a href="http://www.lirc.org/">lirc</a>, <a href="http://www.porchdogsoft.com/products/howl/">HOWL</a> (or preferably the compatibility layer included in its superior replacement <a href="http://www.avahi.org/">Avahi</a>) and <a -href="http://www.gtk.org/">GLIB</a>. (The latter is required for -building the GLIB main loop integration module only.)</p> - -<h2><a name="installation">Installation</a></h2> - -<p>As this package is made with the GNU autotools you should run -<tt>./configure</tt> inside the distribution directory for configuring -the source tree. After that you should run <tt>make</tt> for -compilation and <tt>make install</tt> (as root) for installation of -PulseAudio.</p> - -<h2><a name="acks">Acknowledgements</a></h2> - -<p>Eric B. Mitchell for writing ESOUND</p> - -<p>Jeff Waugh for creating Ubuntu packages (and hopefully soon Debian)</p> - -<p>Miguel Freitas for writing a PulseAudio driver for Xine</p> - -<p>Joe Marcus Clarke for porting PulseAudio to FreeBSD</p> - -<p><a href="http://www.cendio.com">Cendio AB</a> for paying for Pierre's work on PulseAudio</p> - -<p>Sebastien ESTIENNE for testing</p> - -<p>Igor Zubkov for some portability patches</p> - -<p>Jan Schmidt for some latency interpolation love</p> - -<h2><a name="download">Download</a></h2> - -<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p> - -<p>The current release is <a href="@PACKAGE_URL@pulseaudio-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p> - -<p>Get PulseAudio's development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="svn://0pointer.de/pulseaudio">repository</a> (<a href="http://0pointer.de/cgi-bin/viewcvs.cgi/?root=pulseaudio">ViewCVS</a>, <a href="http://pulseaudio.org/browser/trunk">Trac</a>): </p> - -<pre>svn checkout svn://0pointer.de/pulseaudio/trunk pulseaudio</pre> - -<h2><a name="community">Community</a></h2> - -<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/pulseaudio/">Freshmeat</a>.</p> - -<p>There is a general discussion <a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss">mailing list for PulseAudio</a> available. In addition, you can subscribe to <a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-commits">SVN changes</a> and <a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets">Trac Tickets</a>.</p> - -<p>PulseAudio is being tracked at <a href="http://cia.navi.cx/stats/project/polypaudio">CIA</a>.</p> - -<p>There's a chance to meet the PulseAudio developers on our <a href="irc://irc.freenode.org/pulseaudio">IRC channel #pulseaudio on irc.freenode.org</a>.</p> - -<p>The main project homepage is <a href="http://pulseaudio.org/">http://pulseaudio.org/</a>.</p> - -<p><b>Please report bugs to <a href="http://pulseaudio.org/newticket">our Trac ticket system</a>.</b></p> - -<hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, July 2006</address> -<div class="grey"><i>$Id$</i></div> - -</body> -</html> diff --git a/doc/cli.html.in b/doc/cli.html.in deleted file mode 100644 index 3a256732..00000000 --- a/doc/cli.html.in +++ /dev/null @@ -1,220 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title>PulseAudio: Simple Command Line Language</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body> -<h1>Simple Command Line Language</h1> - -<p>PulseAudio provides a simple command line language used by -configuration scripts as well as the modules <tt>module-cli</tt> -and <tt>module-cli-protocol-{unix,tcp}</tt>. Empty lines and lines -beginning with a hashmark (<tt>#</tt>) are silently ignored. Several -commands are supported:</p> - -<h2>Miscellaneous Commands</h2> - -<h3><tt>help</tt></h3> - -<p>Show a quick help on the commands available.</p> - -<h3><tt>exit</tt></h3> - -<p>Terminate the daemon. If you want to terminate a CLI connection -("log out") you might want to use <tt>C-d</tt>.</p> - -<h2>Status Commands</h2> - -<h3><tt>list-modules</tt></h3> - -<p>Show all currently loaded modules with their arguments.</p> - -<h3><tt>list-sinks/list-sources</tt></h3> - -<p>Show all currently registered sinks (resp. sources).</p> - -<h3><tt>list-clients</tt></h3> - -<p>Show all currently active clients.</p> - -<h3><tt>list-sink-inputs/list-sink-outputs</tt></h3> - -<p>Show all currently active inputs to sinks (resp. outputs of sources).</p> - -<h3><tt>stat</tt></h3> - -<p>Show some simple statistics about the allocated memory blocks and -the space used by them.</p> - -<h3><tt>info</tt></h3> - -<p>A combination of all status commands described above. <tt>ls</tt> -and <tt>list</tt> are synonyms for <tt>info</tt>.</p> - -<h2>Module Management</h2> - -<h3><tt>load-module</tt></h3> - -<p>Load a module specified by its name and arguments. For most modules -it is OK to be loaded more than once.</p> - -<h3><tt>unload-module</tt></h3> - -<p>Unload a module specified by its index in the module list as -returned by <tt>modules</tt>.</p> - -<h2>Configuration Commands</h2> - -<h3><tt>set-sink-volume</tt>/<tt>set-source-volume</tt></h3> - -<p>Set the volume of the specified sink or source. You may specify the sink/source either -by its index in the sink/source list or by its name. The volume should be an -integer value greater or equal than 0 (= muted). Volume 65536 -(<tt>0x10000</tt>) is normal volume, values greater than this amplify -the audio signal (with clipping).</p> - -<h3><tt>set-sink-mute</tt>/<tt>set-source-mute</tt></h3> - -<p>Mute or unmute the specified sink our source. You may specify the -sink/source either by its index or by its name. The mute value is -either 0 or 1.</p> - -<h3><tt>set-sink-input-volume</tt></h3> - -<p>Set the volume of a sink input specified by its index the the sink -input list. The same volume rules apply as with <tt>sink_volume</tt>.</p> - -<h3><tt>set-default-sink</tt>/<tt>set-default-source</tt></h3> - -<p>Make a sink (resp. source) the default. You may specify the sink -(resp. ssource) by its index in the sink (resp. source) list or by its -name.</p> - -<h2>Sample Cache</h2> - -<h3><tt>list-samples</tt></h3> - -<p>Lists the contents of the sample cache.</p> - -<h3><tt>play-sample</tt></h3> - -<p>Play a sample cache entry to a sink. Expects the sample name and the sink name as arguments.</p> - -<h3><tt>remove-sample</tt></h3> - -<p>Remove an entry from the sample cache. Expects the sample name as argument.</p> - -<h3><tt>load-sample</tt></h3> - -<p>Load an audio file to the sample cache. Expects the file name to load and the desired sample name as arguments.</p> - -<h3><tt>load-sample-lazy</tt></h3> - -<p>Create a new entry in the sample cache, but don't load the sample -immediately. The sample is loaded only when it is first used. After a -certain idle time it is freed again. Expects the the desired sample -name and file name to load as arguments.</p> - -<h3><tt>load-sample-dir-lazy</tt></h3> - -<p>Load all entries in the specified directory into the sample cache -as lazy entries. A shell globbing expression (e.g. <tt>*.wav</tt>) may -be appended to the path of the directory to add.</p> - -<h2>Module Autoloading</h2> - -<h3><tt>list-autoload</tt></h3> - -<p>Lists all currently defined autoloading entries.</p> - -<h3><tt>add-autoload-sink/add-autoload-source</tt></h3> - -<p>Adds an autoloading entry for a sink (resp. source). Expects the sink name (resp. source name), the module name and the module arguments as arguments.</p> - -<h3><tt>remove-autoload-sink/remove-autoload-source</tt></h3> - -<p>Remove an autoloading entry. Expects the sink name (resp. source name) as argument.</p> - -<h2>Miscellaneous Commands</h2> - -<h3><tt>play-file</tt></h3> - -<p>Play an audio file to a sink. Expects the file name and the sink name as argumens.</p> - -<h3><tt>dump</tt></h3> - -<p>Dump the daemon's current configuration in CLI commands.</p> - -<h2>Killing Clients/Streams</h2> - -<h3><tt>kill-client</tt></h3> - -<p>Remove a client forcibly from the server. There is no protection that -the client reconnects immediately.</p> - -<h3><tt>kill-sink-input/kill-source-output</tt></h3> - -<p>Remove a sink input (resp. source output) forcibly from the -server. This will not remove the owning client or any other streams -opened by the client from the server.</p> - -<h2>Meta Commands</h2> - -<p>In addition the the commands described above there a few meta -directives supported by the command line interpreter:</p> - -<h3><tt>.include</tt></h3> - -<p>Executes the commands from the specified script file.</p> - -<h3><tt>.fail/.nofail</tt></h3> - -<p>Enable (resp. disable) that following failing commands will cancel -the execution of the current script file. This is a ignored when used -on the interactive command line.</p> - -<h3><tt>.verbose/.noverbose</tt></h3> -<p>Enable (resp. disable) extra verbosity.</p> - -<h2>Example Configuration Script</h2> - -<p>Mark the following script as executable (<tt>chmod +x</tt>) and run it for a sensible PulseAudio configuration.</p> - -<pre> -#!/usr/bin/polaudio -nF - -# Create autoload entries for the device drivers -add-autoload-sink output module-alsa-sink device=plughw:0,0 rate=48000 sink_name=output -add-autoload-sink output2 module-oss device=/dev/dsp1 record=0 sink_name=output2 -add-autoload-sink combined module-combine master=output slaves=output2 sink_name=combined - -add-autoload-source input module-alsa-source device=hw:1,0 source_name=input - -# Load several protocols -load-module module-esound-protocol-unix -load-module module-simple-protocol-tcp -load-module module-native-protocol-unix -load-module module-cli-protocol-unix - -# Make some devices default -set-default-sink combined -set-default-source input - -# Don't fail if the audio files referred to below don't exist -.nofail - -# Load an audio to the sample cache for usage with module-x11-bell -load-sample-lazy /usr/share/sounds/KDE_Notify.wav x11-bell -load-module module-x11-bell sample=x11-bell - -# Play a welcome sound -play-file /usr/share/sounds/startup3.wav combined -</pre> - -<hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, June 2006</address> -<div class="grey"><i>$Id$</i></div> -</body> </html> diff --git a/doc/daemon.html.in b/doc/daemon.html.in deleted file mode 100644 index d90caa2a..00000000 --- a/doc/daemon.html.in +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title>PulseAudio: Daemon</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body> -<h1>Daemon</h1> - -<h2>Command Line Arguments</h2> - -The PulseAudio daemon accepts several command line arguments: - -<pre> -COMMANDS: - -h, --help Show this help - --version Show version - --dump-conf Dump default configuration - --dump-modules Dump list of available modules - -k --kill Kill a running daemon - --check Check for a running daemon - -OPTIONS: - -D, --daemonize[=BOOL] Daemonize after startup - --fail[=BOOL] Quit when startup fails - --verbose[=BOOL] Be slightly more verbose - --high-priority[=BOOL] Try to set high process priority - (only available as root) - --disallow-module-loading[=BOOL] Disallow module loading after startup - --exit-idle-time=SECS Terminate the daemon when idle and this - time passed - --module-idle-time=SECS Unload autoloaded modules when idle and - this time passed - --scache-idle-time=SECS Unload autoloaded samples when idle and - this time passed - --log-target={auto,syslog,stderr} Specify the log target - -p, --dl-search-path=PATH Set the search path for dynamic shared - objects (plugins) - --resample-method=[METHOD] Use the specified resampling method - (one of src-sinc-medium-quality, - src-sinc-best-quality,src-sinc-fastest - src-zero-order-hold,src-linear,trivial) - --use-pid-file[=BOOL] Create a PID file - -STARTUP SCRIPT: - -L, --load="MODULE ARGUMENTS" Load the specified plugin module with - the specified argument - -F, --file=FILENAME Run the specified script - -C Open a command line on the running TTY - after startup - - -n Don't load default script file -</pre> - -<h3>Example</h3> - -<p>It is a good idea to run the daemon like this:</p> - -<pre>pulseaudio -D</pre> - -<p>This will run <tt>/etc/pulse/default.pa</tt> after startup. This should be a script written in the CLI language described in <a href="cli.html">cli.html</a>. </p> - -<h2>Signals</h2> - -<p>The following signals are trapped specially:</p> - -<h3>SIGINT</h3> - -<p>The daemon is shut down cleanly.</p> - -<h3>SIGUSR1</h3> - -<p>The daemon tries to load the module <a href="modules.html#module-cli"><tt>module-cli</tt></a>, effectively providing a command line interface on the calling TTY.</p> - -<h3>SIGUSR2</h3> - -<p>The daemon tries to load the module <a href="modules.html#module-cli-protocol-unix"><tt>module-cli-protocol-unix</tt></a>, effectively providing a command line interface on a special UNIX domain socket.</p> - -<h3>SIGHUP</h3> - -<p>The daemon logs the current server layout.</p> - -<hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, June 2006</address> -<div class="grey"><i>$Id$</i></div> -</body> </html> diff --git a/doc/modules.html.in b/doc/modules.html.in deleted file mode 100644 index 7f12d9a9..00000000 --- a/doc/modules.html.in +++ /dev/null @@ -1,510 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title>PulseAudio: Loadable Modules</title> -<link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body> - -<h1>Loadable Modules</h1> - -<p>The following loadable modules are provided with the PulseAudio distribution:</p> - -<h2>Device Drivers</h2> - -<p>All device driver modules support the following parameters:</p> -<table> - <tr><td><tt>format=</tt></td><td>The sample format (one of <tt>u8</tt>, <tt>s16</tt>, <tt>s16le</tt>, <tt>s16le</tt>, <tt>float32</tt>, <tt>float32be</tt>, <tt>float32le</tt>, <tt>alaw</tt>, <tt>ulaw</tt>) (defaults to <tt>s16</tt>)</td></tr> - <tr><td><tt>rate=</tt></td><td>The sample rate (defaults to 44100)</td></tr> - <tr><td><tt>channels=</tt></td><td>Audio channels (defaults to 2)</td></tr> - <tr><td><tt>sink_name=</tt>, <tt>source_name=</tt></td><td>Name for the sink (resp. source)</td></tr> - <tr><td><tt>channel_map=</tt></td><td>Channel map. A list of -comma-seperated channel names. The currently defined channel names -are: <tt>left</tt>, <tt>right</tt>, <tt>mono</tt>, <tt>center</tt>, -<tt>front-left</tt>, <tt>front-right</tt>, <tt>front-center</tt>, -<tt>rear-center</tt>, <tt>rear-left</tt>, <tt>rear-right</tt>, -<tt>lfe</tt>, <tt>subwoofer</tt>, <tt>front-left-of-center</tt>, -<tt>front-right-of-center</tt>, <tt>side-left</tt>, -<tt>side-right</tt>, <tt>aux0</tt>, <tt>aux1</tt> to <tt>aux15</tt>, -<tt>top-center</tt>, <tt>top-front-left</tt>, -<tt>top-front-right</tt>, <tt>top-front-center</tt>, -<tt>top-rear-left</tt>, <tt>top-rear-right</tt>, -<tt>top-rear-center</tt>, (Default depends on the number of channels -and the driver)</td></tr> </table> - -<h3>module-pipe-sink</h3> - -<p>Provides a simple test sink that writes the audio data to a FIFO -special file in the file system. The sink name defaults to <tt>pipe_output</tt>.</p> - -<p>The following option is supported:</p> - -<table> - <tr><td><tt>file=</tt></td><td>The name of the FIFO special file to use. (defaults to: <tt>/tmp/music.output</tt>)</td></tr> -</table> - -<h3>module-pipe-source</h3> - -<p>Provides a simple test source that reads the audio data from a FIFO -special file in the file system. The source name defaults to <tt>pipe_input</tt>.</p> - -<p>The following option is supported:</p> - -<table> - <tr><td><tt>file=</tt></td><td>The name of the FIFO special file to use. (defaults to: <tt>/tmp/music.input</tt>)</td></tr> -</table> - - -<h3>module-null-sink</h3> - -<p>Provides a simple null sink. All data written to this sink is silently dropped. This sink is clocked using the system time.</p> - -<p>This module doesn't support any special parameters</p> - -<a name="module-alsa-sink"/> - -<h3>module-alsa-sink</h3> - -<p>Provides a playback sink for devices supported by the <a href="http://www.alsa-project.org/">Advanced Linux -Sound Architecture</a> (ALSA). The sink name defaults to <tt>alsa_output</tt>.</p> - -<p>In addition to the general device driver options described above this module supports:</p> - -<table> - <tr><td><tt>device=</tt></td><td>The ALSA device to use. (defaults to "plughw:0,0")</td></tr> - <tr><td><tt>fragments=</tt></td><td>The desired fragments when opening the device. (defaults to 12)</td></tr> - <tr><td><tt>fragment_size=</tt></td><td>The desired fragment size in bytes when opening the device (defaults to 1024)</td></tr> -</table> - -<h3>module-alsa-source</h3> - -<p>Provides a recording source for devices supported by the Advanced -Linux Sound Architecture (ALSA). The source name defaults to <tt>alsa_input</tt>.</p> - -<p>This module supports <tt>device=</tt>, <tt>fragments=</tt> and <tt>fragment_size=</tt> arguments the same way as <a href="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p> - -<a name="module-oss"/> - -<h3>module-oss</h3> - -<p>Provides both a sink and a source for playback, resp. recording on -<a href="http://www.opensound.com">Open Sound System</a> (OSS) compatible devices.</p> - -<p>This module supports <tt>device=</tt> (which defaults to <tt>/dev/dsp</tt>), <tt>fragments=</tt> and <tt>fragment_size=</tt> arguments the same way as <a href="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p> - -<p>In addition this module supports the following options:</p> - -<table> - <tr><td><tt>record=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the recording on this device. (defaults: to 1)</td></tr> - <tr><td><tt>playback=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the playback on this device. (defaults: to 1)</td></tr> -</table> - -<p>The sink name (resp. source name) defaults to <tt>oss_output</tt> (resp. <tt>oss_input</tt>).</p> - -<h3>module-oss-mmap</h3> - -<p>Similar to <tt>module-oss</tt> but uses memory mapped -(<tt>mmap()</tt>) access to the input/output buffers of the audio -device. This provides better latency behaviour but is not as -compatible as <tt>module-oss</tt>.</p> - -<p>This module accepts exactly the same arguments as <a href="#module-oss"><tt>module-oss</tt></a>.</p> - -<h3>module-solaris</h3> - -<P>Provides a sink and source for the Solaris audio device.</p> - -<p>In addition to the general device driver options described above this module supports:</p> - -<table> - <tr><td><tt>record=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the recording on this device. (defaults: to 1)</td></tr> - <tr><td><tt>playback=</tt></td><td>Accepts a binary numerical value for enabling (resp. disabling) the playback on this device. (defaults: to 1)</td></tr> - <tr><td><tt>buffer_size=</tt></td><td>Record buffer size</td></tr> -</table> - -<h3>module-waveout</h3> - -<P>Provides a sink and source for the Win32 audio device.</p> - -<p>This module supports all arguments thet <tt>module-oss</tt> supports except <tt>device=</tt>.</p> - -<a name="module-combine"/> -<h3>module-combine</h3> - -<p>This combines two or more sinks into one. A new virtual sink is -allocated. All data written to it is forwarded to all connected -sinks. In aequidistant intervals the sample rates of the output sinks -is recalculated: i.e. even when the sinks' crystals deviate (which is -normally the case) output appears synchronously to the human ear. The -resampling required for this may be very CPU intensive.</p> - -<table> - <tr><td><tt>sink_name=</tt></td><td>The name for the combined sink. (defaults to <tt>combined</tt>)</td></tr> - <tr><td><tt>master=</tt></td><td>The name of the first sink to link into the combined think. The sample rate/type is taken from this sink.</td></tr> - <tr><td><tt>slaves=</tt></td><td>Name of additional sinks to link into the combined think, seperated by commas.</td></tr> - <tr><td><tt>adjust_time=</tt></td><td>Time in seconds when to readjust the sample rate of all sinks. (defaults to 20)</td></tr> - <tr><td><tt>resample_method=</tt></td><td>Resampling algorithm to -use. See <tt>libsamplerate</tt>'s documentation for more -information. Use one of <tt>sinc-best-quality</tt>, -<tt>sinc-medium-quality</tt>, <tt>sinc-fastest</tt>, -<tt>zero-order-hold</tt>, <tt>linear</tt>. If the default happens to -be to slow on your machine try using <tt>zero-order-hold</tt>. This -will decrease output quality however. (defaults to -<tt>sinc-fastest</tt>)</td></tr> </table> - -<h3>module-tunnel-{sink,source}</h3> - -<p>Tunnel a remote sink/source to a local "ghost" -sink/source. Requires a running PulseAudio daemon on the remote server -with <tt>module-native-protocol-tcp</tt> loaded. It's probably a -better idea to connect to the remote sink/source directly since some -buffer control is lost through this tunneling.</p> - -<table> - <tr><td><tt>server=</tt></td><td>The server to connect to</td></tr> - <tr><td><tt>source=</tt></td><td>The source on the remote server. Only available for <tt>module-tunnel-source</tt>.</td></tr> - <tr><td><tt>sink=</tt></td><td>The sink on the remote server. Only available for <tt>module-tunnel-sink</tt>.</td></tr> - <tr><td><tt>cookie=</tt></td><td>The authentication cookie file to use.</td></tr> -</table> - -<h3>module-esound-sink</h3> - -<p>Create a playback sink using an <a href="http://www.tux.org/~ricdude/apps.html">ESOUND</a> server as backend. Whenever you can, try to omit this -module since it has many disadvantages including bad latency -and even worse latency measurement. </p> - -<table> - <tr><td><tt>server=</tt></td><td>The server to connect to</td></tr> - <tr><td><tt>cookie=</tt></td><td>The authentication cookie file to use.</td></tr> -</table> - -<h2>Protocols</h2> - -<a name="module-cli"/> - -<h3>module-cli</h3> - -<p>Provides the user with a simple command line interface on the -controlling TTY of the daemon. This module may not be loaded more than -once.</p> - -<p>For an explanation of the simple command line language used by this -module see <a href="cli.html"><tt>cli.html</tt></a>. - -<table> - <tr><td><tt>exit_on_eof=</tt></td><td>Accepts a binary numerical argument specifying whether the daemon shuld exit after an EOF was recieved from STDIN (default: 0)</td></tr> -</table> - -<a name="module-cli-protocol-unix"/> -<a name="module-cli-protocol-tcp"/> -<a name="module-cli-protocol"/> - -<h3>module-cli-protocol-{unix,tcp}</h3> - -<p>An implemenation of a simple command line based protocol for -controlling the PulseAudio daemon. If loaded, the user may -connect with tools like <tt>netcat</tt>, <tt>telnet</tt> or -<a href="http://0pointer.de/lennart/projects/bidilink/"><tt>bidilink</tt></a> to the listening sockets and execute commands the -same way as with <tt>module-cli</tt>.</p> - -<p><b>Beware!</b> Users are not authenticated when connecting to this -service.</p> - -<p>This module exists in two versions: with the suffix <tt>-unix</tt> -the service will listen on an UNIX domain socket in the local file -system. With the suffix <tt>-tcp</tt> it will listen on a network -transparent TCP/IP socket. (Both IPv6 and IPv4 - if available)</p> - -<p>This module supports the following options:</p> - -<table> - <tr><td><tt>port=</tt></td><td>(only for <tt>-tcp</tt>) The port number to listen on (defaults to 4712)</td></tr> - <tr><td><tt>loopback=</tt></td><td>(only for <tt>-tcp</tt>) Accepts -a numerical binary value. If 1 the socket is bound to the loopback -device, i.e. not publicly accessible. (defaults to 1)</td></tr> - <tr><td><tt>listen=</tt></td><td>(only for <tt>-tcp</tt>) The IP address to listen on. If specified, supersedes the value specified in <tt>loopback=</tt></td></tr> - <tr><td><tt>socket=</tt></td><td>(only for <tt>-unix</tt>) The UNIX socket name (defaults to <tt>/tmp/pulse/cli</tt>)</td></tr> -</table> - -<h3>module-simple-protocol-{unix,tcp}</h3> - -<p>An implementation of a simple protocol which allows playback by using -simple tools like <tt>netcat</tt>. Just connect to the listening -socket of this module and write the audio data to it, or read it from -it for playback, resp. recording.</p> - -<p><b>Beware!</b> Users are not authenticated when connecting to this -service.</p> - -<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information -about the two possible suffixes of this module.</p> - -<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p> - -<table> - <tr><td><tt>rate=</tt>, <tt>format=</tt>, <tt>channels=</tt></td><td>Sample format for streams connecting to this service.</td></tr> - <tr><td><tt>playback=</tt>, <tt>record=</tt></td><td>Enable/disable playback/recording</td></tr> - <tr><td><tt>sink=</tt>, <tt>source=</tt></td><td>Specify the sink/source this service connects to</td></tr> -</table> - -<h3>module-esound-protocol-{unix,tcp}</h3> - -<p>An implemenation of a protocol compatible with the <a -href="http://www.tux.org/~ricdude/EsounD.html">Enlightened Sound -Daemon</a> (ESOUND, <tt>esd</tt>). When you load this module you may -access the PulseAudio daemon with tools like <tt>esdcat</tt>, -<tt>esdrec</tt> or even <tt>esdctl</tt>. Many applications, such as -XMMS, include support for this protocol.</p> - -<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information -about the two possible suffixes of this module.</p> - -<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p> - -<table> - <tr><td><tt>sink=</tt>, <tt>source=</tt></td><td>Specify the sink/source this service connects to</td></tr> - <tr><td><tt>auth-anonymous=</tt></td><td>If set to 1 no authentication is required to connect to the service</td></tr> - <tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr> -</table> - -<p>This implementation misses some features the original ESOUND has: e.g. there is no sample cache yet. However: XMMS works fine.</p> - -<h3>module-native-protocol-{unix,tcp}</h3> - -<p>The native protocol of PulseAudio.</p> - -<p>See <tt>module-cli-protocol-{unix,tcp}</tt> for more information -about the two possible suffixes of this module.</p> - -<p>In addition to the options supported by <a href="module-cli-protocol"><tt>module-cli-protocol-*</tt></a>, this module supports:</p> - -<table> - <tr><td><tt>auth-anonymous=</tt></td><td>If set to 1 no authentication is required to connect to the service</td></tr> - <tr><td><tt>auth-group=</tt></td><td>(only for <tt>-unix</tt>): members of the specified unix group may access the server without further auhentication.</td></tr> - <tr><td><tt>cookie=</tt></td><td>Name of the cookie file for authentication purposes</td></tr> -</table> - -<h3>module-native-protocol-fd</h3> - -<p>This is used internally when auto spawning a new daemon. Don't use it directly.</p> - -<h3>module-http-protocol-tcp</h3> - -<p>A proof-of-concept HTTP module, which can be used to introspect -the current status of the PulseAudio daemon using HTTP. Just load this -module and point your browser to <a -href="http://localhost:4714/">http://localhost:4714/</a>. This module takes the same arguments -as <tt>module-cli-protocol-tcp</tt>.</p> - -<h2>X Window System</h2> - -<h3>module-x11-bell</h3> - -<p>Intercepts X11 bell events and plays a sample from the sample cache on each occurence.</p> - -<table> - <tr><td><tt>display=</tt></td><td>X11 display to connect to. If ommited defaults to the value of <tt>$DISPLAY</tt></td></tr> - <tr><td><tt>sample=</tt></td><td>The sample to play. If ommited defaults to <tt>x11-bell</tt>.</td></tr> - <tr><td><tt>sink=</tt></td><td>Name of the sink to play the sample on. If ommited defaults to the default sink.</td></tr> -</table> - -<h3>module-x11-publish</h3> - -<p>Publishes the access credentials to the PulseAudio server in the -X11 root window. The following properties are used: -<tt>PULSE_SERVER</tt>, <tt>POYLP_SINK</tt>, <tt>PULSE_SOURCE</tt>, -<tt>PULSE_COOKIE</tt>. This is very useful when using SSH or any other -remote login tool for logging into other machines and getting audio -playback to your local speakers. The PulseAudio client libraries make -use of this data automatically. Instead of using this module you may -use the tool <tt>pax11publish</tt> which may be used to access, modify -and import credential data from/to the X11 display.</p> - -<table> - <tr><td><tt>display=</tt></td><td>X11 display to connect to. If ommited defaults to the value of <tt>$DISPLAY</tt></td></tr> - <tr><td><tt>sink=</tt></td><td>Name of the default sink. If ommited this property isn't stored in the X11 display.</td></tr> - <tr><td><tt>source=</tt></td><td>Name of the default source. If ommited this property isn't stored in the X11 display.</td></tr> - <tr><td><tt>cookie=</tt></td><td>Name of the cookie file of the -cookie to store in the X11 display. If ommited the cookie of an -already loaded protocol module is used.</td></tr> </table> - -<h2>Volume Control</h2> - -<h3>module-mmkbd-evdev</h3> - -<p>Adjust the volume of a sink when the special multimedia buttons of modern keyboards are pressed.</p> - -<table> - <tr><td><tt>device=</tt></td><td>Linux input device ("<tt>evdev</tt>", defaults to <tt>/dev/input/event0</tt>)</td></tr> - <tr><td><tt>sink=</tt></td><td>The sink to control</td></tr> -</table> - -<h3>module-lirc</h3> - -<p>Adjust the volume of a sink when the volume buttons of an infrared remote control are pressed (through LIRC).</p> - -<table> - <tr><td><tt>config=</tt></td><td>The LIRC configuration file</td></tr> - <tr><td><tt>appname=</tt></td><td>The application name to pass to LIRC (defaults to <tt>pulseaudio</tt>)</td></tr> - <tr><td><tt>sink=</tt></td><td>The sink to control</td></tr> -</table> - -<a name="rtp"/> -<h2>RTP/SDP/SAP Transport</h2> - -<p>PulseAudio can stream audio data to an IP multicast group via the -standard protocols <a -href="http://en.wikipedia.org/wiki/Real-time_Transport_Protocol">RTP</a>, -<a -href="http://en.wikipedia.org/wiki/Session_Announcement_Protocol">SAP</a> -and <a -href="http://en.wikipedia.org/wiki/Session_Description_Protocol">SDP</a> -(RFC3550, RFC3551, RFC2327, RFC2327). This can be used for multiple -different purposes: for sharing a single microphone on multiple -computers on the local LAN, for streaming music from a single -controlling PC to multiple PCs with speakers or to implement a simple -"always-on" teleconferencing solution.</p> - -<p>The current implementation is designed to be used exlusively in -local area networks, though Internet multicasting is theoretically -supported. Only uncompressed audio is supported, hence you won't be -able to multicast more than a few streams at the same time over a -standard LAN.</p> - -<p>PulseAudio implements both a sender and a reciever for RTP -traffic. The sender announces itself via SAP/SDP on the same multicast -group as it sends the RTP data to. The reciever picks up the SAP/SDP -announcements and creates a playback stream for each -session. Alternatively you can use any RTP capable client to -recieve and play back the RTP data (such as <tt>mplayer</tt>).</p> - -<h3>module-rtp-send</h3> - -<p>This is the sender side of the RTP/SDP/SAP implementation. It reads -audio data from an existing source and forwards it to the network -encapsulated in RTP. In addition it sends SAP packets with an SDP -session description.</p> - -<p>In combination with the monitor source of <tt>module-null-sink</tt> -you can use this module to create an RTP sink.</p> - -<table> - <tr><td><tt>source=</tt></td><td>The source to read the audio data from. If ommited defaults to the default source.</td></tr> - <tr><td><tt>format=, rate=, channels=</tt></td><td>Sample format to use, defaults to the source's.</td></tr> - <tr><td><tt>destination=</tt></td><td>Destination multicast group for both RTP and SAP packets, defaults to <tt>224.0.0.56</tt></td></tr> - <tr><td><tt>port=</tt></td><td>Destination port number of the RTP -traffic. If ommited defaults to a randomly chosen even port -number. Please keep in mind that the RFC suggests to use only even -port numbers for RTP traffic.</td></tr> - <tr><td><tt>mtu=</tt></td><td>Maximum payload size for RTP packets. If ommited defaults to 1280</td></tr> - <tr><td><tt>loop=</tt></td><td>Takes a boolean value, specifying whether locally generated RTP traffic should be looped back to the local host. Disabled by default.</td></tr> -</table> - -<h3>module-rtp-recv</h3> - -<p>This is the reciever side of the RTP/SDP/SAP implementation. It -picks up SAP session announcements and creates an RTP playback stream -for each.</p> - -<p>In combination with <tt>module-null-sink</tt> you can use this -module to create an RTP source.</p> - -<table> - <tr><td><tt>sink=</tt></td><td>The sink to connect to. If ommited defaults to the default sink.</td></tr> - <tr><td><tt>sap_address=</tt></td><td>The multicast group to join for SAP announcements, defaults to <tt>224.0.0.56</tt>.</td></tr> -</table> - -<h2>JACK Connectivity</h2> - -<p>PulseAudio can be hooked up to a <a -href="http://jackit.sourceforge.net/">JACK Audio Connection Kit</a> server which is a specialized sound server used for professional audio production on Unix/Linux. Both a -PulseAudio sink and a source are available. For each channel a port is -created in the JACK server.</p> - -<h3>module-jack-sink</h3> - -<p>This module implements a PulseAudio sink that connects to JACK and registers as many output ports as requested.</p> - -<table> - <tr><td><tt>sink_name=</tt></td><td>The name for the PulseAudio sink. If ommited defaults to <tt>jack_out</tt>.</td></tr> - <tr><td><tt>server_name=</tt></td><td>The JACK server to connect to. If ommited defaults to the default server.</td></tr> - <tr><td><tt>client_name=</tt></td><td>The client name to tell the JACK server. If ommited defaults to <tt>PulseAudio</tt>.</td></tr> - <tr><td><tt>channels=</tt></td><td>Number of channels to register. If ommited defaults to the number of physical playback ports of the JACK server.</td></tr> - <tr><td><tt>connect=</tt></td><td>Takes a boolean value. If enabled (the default) PulseAudio will try to connect its ports to the physicial playback ports of the JACK server</td></tr> -</table> - -<h3>module-jack-source</h3> - -<p>This module implements a PulseAudio source that connects to JACK -and registers as many input ports as requested. Takes the same -arguments as <tt>module-jack-sink</tt>, except for <tt>sink_name</tt> -which is replaced by <tt>source_name</tt> (with a default of <tt>jack_in</tt>) for obvious reasons.</p> - -<h2>Miscellaneous</h2> - -<h3>module-sine</h3> - -<p>Creates a sink input and generates a sine waveform stream.</p> - -<table> - <tr><td><tt>sink=</tt></td><td>The sink to connect to. If ommited defaults to the default sink.</td></tr> - <tr><td><tt>frequency=</tt></td><td>The frequency to generate in Hertz. Defaults to 440.</td></tr> -</table> - -<h3>module-esound-compat-spawnfd</h3> - -<p>This is a compatibility module for <tt>libesd</tt> based autospawning of PulseAudio. Don't use it directly.</p> - -<h3>module-esound-compat-spawnpid</h3> - -<p>This is a compatibility module for <tt>libesd</tt> based autospawning of PulseAudio. Don't use it directly.</p> - -<h3>module-match</h3> - -<p>Adjust the volume of a playback stream automatically based on its name.</p> - -<table> - <tr><td><tt>table=</tt></td><td>The regular expression matching table file to use (defaults to <tt>~/.pulse/match.table</tt>)</td></tr> -</table> - -<p>The table file should contain a regexp and volume on each line, seperated by spaces. An example:</p> - -<pre> -^sample: 32000 -</pre> - -<p>The volumes of all streams with titles starting with <tt>sample:</tt> are automatically set to 32000. (FYI: All sample cache streams start with <tt>sample:</tt>)</p> - -<h3>module-volume-restore</h3> - -<p>Adjust the volume of a playback stream automatically based on its name.</p> - -<table> - <tr><td><tt>table=</tt></td><td>The table file to use (defaults to <tt>~/.pulse/volume.table</tt>)</td></tr> -</table> - -<p>In contrast to <tt>module-match</tt> this module needs no explicit -configuration. Instead the volumes are saved and restored in a fully -automatical fashion depending on the client name to identify -streams. The volume for a stream is automatically saved every time it is -changed and than restored when a new stream is created.</p> - -<h3>module-detect</h3> - -<p>Automatically detect the available sound hardware and load modules for it. Supports OSS, ALSA, Solaris and Win32 output drivers. - -<table> - <tr><td><tt>just-one=</tt></td><td>If set to <tt>1</tt> the module will only try to load a single sink/source and than stop.</td></tr> -</table> - -<h3>module-zeroconf-publish</h3> - -<p>Publish all local sinks/sources using mDNS Zeroconf.</p> - - -<hr/> -<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, April 2006</address> -<div class="grey"><i>$Id$</i></div> -</body> </html> diff --git a/doc/style.css b/doc/style.css deleted file mode 100644 index c5af0055..00000000 --- a/doc/style.css +++ /dev/null @@ -1,27 +0,0 @@ -/* $Id$ */ - -/*** - * This file is part of PulseAudio. - * - * PulseAudio is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * PulseAudio is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with PulseAudio; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - ***/ - -body { color: black; background-color: white; } -a:link, a:visited { color: #900000; } -div.news-date { font-size: 80%; font-style: italic; } -pre { background-color: #f0f0f0; padding: 0.4cm; } -.grey { color: #8f8f8f; font-size: 80%; } -table { margin-left: 1cm; border:1px solid lightgrey; padding: 0.2cm; } -td { padding-left:10px; padding-right:10px; } |