diff --git a/doc/user.xml b/doc/user.xml
index 7e43dce8a..06dc087f0 100644
--- a/doc/user.xml
+++ b/doc/user.xml
@@ -72,14 +72,287 @@ cd mpd-0.14.2
Configuration
-
-
+
+ Configuring audio outputs
+
+
+ Audio outputs are devices which actually play the audio chunks
+ produced by MPD. You can configure any number of audio output
+ devices, but there must be at least one. If none is
+ configured, MPD attempts to auto-detect. Usually, this works
+ quite well with ALSA, OSS and on Mac OS X.
+
+
+
+ To configure an audio output manually, add an
+ audio_output block to
+ mpd.conf:
+
+
+ audio_output {
+ type "alsa"
+ name "my ALSA device"
+ device "hw:0"
+}
+
+
Plugin reference
-
-
+
+ Output plugins
+
+
+ alsa
+
+
+ The "Advanced Linux Sound Architecture" plugin uses
+ libasound. It is recommended if you
+ are using Linux.
+
+
+
+
+
+
+ Setting
+ Description
+
+
+
+
+
+ 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, ...).
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ mvp
+
+
+ The mvp plugin uses the proprietary
+ Hauppauge Media MVP interface. We do not know any user of
+ this plugin, and we do not know if it actually works.
+
+
+
+
+ null
+
+
+ The null plugin does nothing. It
+ discards everything sent to it.
+
+
+
+
+
+
+ Setting
+ Description
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+ Setting
+ Description
+
+
+
+
+
+ device
+ PATH
+
+
+ Sets the path of the PCM device. If not specified,
+ then MPD will attempt to open
+ /dev/sound/dsp and
+ /dev/dsp.
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+ pulse
+
+
+ The pulse plugin connects to a PulseAudio
+ server.
+
+
+
+
+ shout
+
+
+ The shout plugin connects to a ShoutCast
+ or IceCast server. It forwards tags to this server.
+
+
+