<p>Provides a playback sink for devices supported by the <ahref="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 <ahref="#module-alsa-sink"><tt>module-alsa-sink</tt></a>.</p>
<aname="module-oss"/>
<h3>module-oss</h3>
<p>Provides both a sink and a source for playback, resp. recording on
<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 <ahref="#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 <ahref="#module-oss"><tt>module-oss</tt></a>.</p>
<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>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>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>
(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>Polypaudio 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>
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
Polypaudio 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 Polypaudio 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 Polypaudio 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>polypaudio</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) Polypaudio 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 Polypaudio 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>
<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>~/.polypaudio/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>