Output plugins

alsa

The "Advanced Linux Sound Architecture" plugin uses libasound. It is recommended if you are using Linux.

SettingDescription
device NAME Sets the device which should be used. This can be any valid ALSA device name. The default value is "default", which makes libasound choose a device. It is recommended to use a "hw" or "plughw" device, because otherwise, libasound automatically enables "dmix", which has major disadvantages (fixed sample rate, poor resampler, ...).
use_mmap yes|no If set to yes, then libasound will try to use memory mapped I/O.
buffer_time US Sets the device's buffer time in microseconds. Don't change unless you know what you're doing.
period_time US Sets the device's period time in microseconds. Don't change unless you really know what you're doing.
auto_resample yes|no If set to no, then libasound will not attempt to resample, handing the responsibility over to MPD. It is recommended to let MPD resample (with libsamplerate), because ALSA is quite poor at doing so.
auto_channels yes|no If set to no, then libasound will not attempt to convert between different channel numbers.
auto_format yes|no If set to no, then libasound will not attempt to convert between different sample formats (16 bit, 24 bit, floating point, ...).
dsd_usb yes|no If set to yes, then DSD over USB according to the pro posed standard by dCS and others is enabled. This wraps DSD samples in fake 24 bit PCM, and is understood by some DSD capable products, but may be harmful to other hardware. Therefore, the default is no and you can enable the option at your own risk.

ao

The ao plugin uses the portable libao library.

fifo

The fifo plugin writes raw PCM data to a FIFO (First In, First Out) file. The data can be read by another program.

jack

The jack plugin connects to a JACK server.

SettingDescription
client_name NAME The name of the JACK client. Defaults to "Music Player Daemon".
server_name NAME Optional name of the JACK server.
autostart yes|no If set to yes, then libjack will automatically launch the JACK daemon. Disabled by default.
source_ports A,B The names of the JACK source ports to be created. By default, the ports "left" and "right" are created. To use more ports, you have to tweak this option.
destination_ports A,B The names of the JACK destination ports to connect to.
ringbuffer_size NBYTES Sets the size of the ring buffer for each channel. Do not configure this value unless you know what you're doing.

httpd

The httpd plugin creates a HTTP server, similar to ShoutCast / IceCast. HTTP streaming clients like mplayer can connect to it.

You must configure either quality or bitrate. It is highly recommended to configure a fixed format, because a stream cannot switch its audio format on-the-fly when the song changes.

SettingDescription
port P Binds the HTTP server to the specified port.
bind_to_address ADDR Binds the HTTP server to the specified address (IPv4 or IPv6). Multiple addresses in parallel are not supported.
encoder NAME Chooses an encoder plugin, e.g. vorbis.
quality Q Configures the encoder quality (for VBR) in the range -1 .. 10.
bitrate BR Sets a constant encoder bit rate, in kilobit per second.
max_clients MC Sets a limit, number of concurrent clients. When set to 0 no limit will apply.

null

The null plugin does nothing. It discards everything sent to it.

SettingDescription
sync yes|no If set to no, then the timer is disabled - the device will accept PCM chunks at arbitrary rate (useful for benchmarking). The default behaviour is to play in real time.

oss

The "Open Sound System" plugin is supported on most Unix platforms.

SettingDescription
device PATH Sets the path of the PCM device. If not specified, then MPD will attempt to open /dev/sound/dsp and /dev/dsp.

openal

The "OpenAL" plugin uses libopenal. It is supported on many platforms.

SettingDescription
device NAME Sets the device which should be used. This can be any valid OpenAL device name. If not specified, then libopenal will choose a default device.

osx

The "Mac OS X" plugin uses Apple's CoreAudio API.

pipe

The pipe plugin starts a program and writes raw PCM data into its standard input.

SettingDescription
command CMD This command is invoked with the shell.

pulse

The pulse plugin connects to a PulseAudio server.

SettingDescription
server HOSTNAME Sets the host name of the PulseAudio server. By default, MPD connects to the local PulseAudio server.
sink NAME Specifies the name of the PulseAudio sink MPD should play on.

recorder

The recorder plugin writes the audio played by MPD to a file. This may be useful for recording radio streams.

You must configure either quality or bitrate.

SettingDescription
path P Write to this file.
encoder NAME Chooses an encoder plugin, e.g. vorbis.
quality Q Configures the encoder quality (for VBR) in the range -1 .. 10.
bitrate BR Sets a constant encoder bit rate, in kilobit per second.

shout

The shout plugin connects to a ShoutCast or IceCast server. It forwards tags to this server.

You must set a format.

SettingDescription
host HOSTNAME Sets the host name of the Shoutcast/Icecast server.
port PORTNUMBER Connect to this port number on the specified host.
timeout SECONDS Set the timeout for the shout connection in seconds. Defaults to 2 seconds.
mount URI Mounts the MPD stream in the specified URI.
user USERNAME Sets the user name for submitting the stream to the server. Default is "source".
password PWD Sets the password for submitting the stream to the server.
name NAME Sets the name of the stream.
genre GENRE Sets the genre of the stream (optional).
description DESCRIPTION Sets a short description of the stream (optional).
url URL Sets a URL associated with the stream (optional).
public yes|no Specifies whether the stream should be "public". Default is "no".
encoder PLUGIN Sets the name of the encoder plugin. Default is "vorbis". "vorbis" and "lame" are valid encoder plugins (provided that you enabled them at compile time).

solaris

The "Solaris" plugin runs only on SUN Solaris, and plays via /dev/audio.

SettingDescription
device PATH Sets the path of the audio device, defaults to /dev/audio.