Loadable Modules

The following loadable modules are provided with the polypaudio distribution:

Device Drivers

All device driver modules support the following parameters:

format=The sample format (one of u8, s16, s16le, s16le, float32, float32be, float32le, alaw, ulaw) (defaults to s16)
rate=The sample rate (defaults to 44100)
channels=Audio channels (defaults to 2)
sink_name=, source_name=Name for the sink (resp. source)

module-pipe-sink

Provides a simple test sink that writes the audio data to a FIFO special file in the file system. The sink name defaults to pipe_output.

The following option is supported:

file=The name of the FIFO special file to use

module-alsa-sink

Provides a playback sink for devices supported by the Advanced Linux Sound Architecture (ALSA). The sink name defaults to alsa_output.

In addition to the general device driver options described above this module supports:

device=The ALSA device to use. (defaults to "plughw:0,0")
fragments=The desired fragments when opening the device. (defaults to 12)
fragment_size=The desired fragment size in bytes when opening the device (defaults to 1024)

module-alsa-source

Provides a recording source for devices supported by the Advanced Linux Sound Architecture (ALSA). The source name defaults to alsa_input.

This module supports device=, fragments= and fragment_size= arguments the same way as module-alsa-sink.

module-oss

Provides both a sink and a source for playback, resp. recording on Open Sound System (OSS) compatible devices.

This module supports device= (which defaults to /dev/dsp), fragments= and fragment_size= arguments the same way as module-alsa-sink.

In addition this module supports the following options:

record=Accepts a binary numerical value for enabling (resp. disabling) the recording on this device. (defaults: to 1)
playback=Accepts a binary numerical value for enabling (resp. disabling) the playback on this device. (defaults: to 1)

The sink name (resp. source name) defaults to oss_output (resp. oss_input).

module-oss-mmap

Similar to module-oss but uses memory mapped (mmap()) access to the input/output buffers of the audio device. This provides better latency behaviour but is not as compatible as module-oss.

This module accepts exactly the same arguments as module-oss.

Protocols

module-cli

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.

For an explanation of the simple command line language used by this module see cli.html.

This module doesn't accept any arguments.

module-cli-protocol-{unix,tcp}

An implemenation of a simple command line based protocol for controlling the polypaudio daemon. If loaded, the user may connect with tools like netcat, telnet or bidilink to the listening sockets and execute commands the same way as with module-cli.

Beware! Users are not authenticated when connecting to this service.

This module exists in two versions: with the suffix -unix the service will listen on an UNIX domain socket in the local file system. With the suffix -tcp it will listen on a network transparent TCP/IP socket.

This module supports the following options:

port=(only for -tcp) The port number to listen on (defaults to 4712)
loopback=(only for -tcp) Accepts a numerical binary value. If 1 the socket is bound to the loopback device, i.e. not publicly accessible. (defaults to 1)
socket=(only for -unix) The UNIX socket name (defaults to /tmp/polypaudio/cli)

module-simple-protocol-{unix,tcp}

An implementation of a simple protocol which allows playback by using simple tools like netcat. 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.

Beware! Users are not authenticated when connecting to this service.

See module-cli-protocol-{unix,tcp} for more information about the two possible suffixes of this module.

In addition to the options supported by module-cli-protocol-*, this module supports:

rate=, format=, channels=Sample format for streams connecting to this service.
playback=, record=Enable/disable playback/recording
sink=, source=Specify the sink/source this service connects to

module-esound-protocol-{unix,tcp}

An implemenation of a protocol compatible with the Enlightened Sound Daemon (ESOUND, esd). When you load this module you may access the polypaudio daemon with tools like esdcat, esdrec or even esdctl. Many applications, such as XMMS, include support for this protocol.

See module-cli-protocol-{unix,tcp} for more information about the two possible suffixes of this module.

In addition to the options supported by module-cli-protocol-*, this module supports:

sink=, source=Specify the sink/source this service connects to
public=If set to 0 not authentication is required to connect to the service
cookie=Name of the cookie file for authentication purposes

This implementation misses some features the original ESOUND has: e.g. there is no sample cache yet. However: XMMS works fine.

module-native-protocol-{unix,tcp}

The native protocol of polypaudio.

See module-cli-protocol-{unix,tcp} for more information about the two possible suffixes of this module.

In addition to the options supported by module-cli-protocol-*, this module supports:

public=If set to 0 not authentication is required to connect to the service
cookie=Name of the cookie file for authentication purposes

module-x11-bell

Intercepts X11 bell events and plays a sample from the sample cache on each occurence.

display=X11 display to connect to. If ommited defaults to the value of $DISPLAY
sample=The sample to play. If ommited defaults to x11-bell.
sink=Name of the sink to play the sample on. If ommited defaults to the default sink.

Lennart Poettering <@PACKAGE_BUGREPORT@>, August 2004
$Id$