Dependencies
Talk4this wiki
This is not meant to be a comprehensive list of obvious dependencies such as glibc, a C compiler, etc...
The only requirement is you must compile with at least one audio output, and one decoder (and/or possibly encoder if icecast2 is your only output) dependency
Contents |
Hard Dependencies
Edit
Glib
Edit
Glib was added to remove old MPD code which had been mostly unmaintained and probably improperly factored in the first place. This dependency addition creates a more stable MPD while decreasing MPD maintenance.
Audio Output
Edit
ALSA
Edit
ALSA is the recommended audio output plugin for Linux users.
Requires: alsa-lib
Note: It's highly recommended that you have at least version 1.0.16 (or higher) installed on your system. With lower versions playing audio stream (aka web radio) may lead to a deadlock (mpd no longer responding/playing) in mpd (see bug #2243). If you have version 1.0.15 or less the problem may be solved by disabling dmix.
httpd
Edit
MPD's own independent http streaming server. Can be used instead of icecast server.
- LAME - Required to serve mp3 streams. Optionally TwoLAME can be used to provide same functionality
- Ogg Vorbis - Required to serve ogg streams.
- TwoLAME - Required to serve mp3 streams. Optionally LAME can be used to provide same functionallity
- FLAC - Required to serve FLAC streams.
icecast2
Edit
icecast2 - Used to stream output of MPD
- libshout - Required with icecast2 to output to a stream
- LAME - Required to serve mp3 icecast streams.
- Ogg Vorbis - Required to serve ogg streams.
JACK
Edit
JACK Audio Connection Kit - Output to a JACK server.
libao
Edit
libao - libao is not recommended after 0.11.x for the ALSA or OSS plugin, unless you can't use the ALSA or OSS plugin. libao is a cross-platform audio library that allows output to the following:
- Null output (handy for testing without a sound device)
- WAV files
- AU files
- OSS (Open Sound System, used on many *nix distributions)
- ALSA (Advanced Linux Sound Architecture)
- PulseAudio (next generation GNOME sound server)
- ESD (ESounD or Enlighten Sound Daemon)
- AIX
- Sun/NetBSD/OpenBSD
- IRIX
- NAS (Network Audio Server)
OSS
Edit
OSS - This driver is a duplicate of the libao driver, used mainly in situations where libao is not available such as embedded devices or cygwin.
OS X
Edit
OS X - This driver allows playing in the OS X environment.
Pulse
Edit
PulseAudio is a sound server for both POSIX and Windows systems. Formerly known as polypaudio, this streaming audio server is similar to ARTS or esound but hopefully without their awful warts. This is a native plugin, although there is also a plugin for libao.
Audio Decoding / Encoding
Edit
libmad
Edit
libmad - Required to play mp3 files (or mpg123)
mpg123
Edit
mpg123 - Required to play mp3 files (or libmad)
libmp4ff
Edit
libmp4ff - Required to play mp4 files; distributed with faad2.
For faad prior to version 2.7: To enable the building of libmp4ff during the installation from source of faad2 you will have to do the steps described here.
libogg
Edit
Commonly used in conjunction with libvorbis, described below
libogg - Required to play ogg files
faad
Edit
faad2 - Required to play aac
flac
Edit
flac - Required to play flac files and display metaflac tags
Audio File Library
Edit
libaudiofile - Required to play wav files
libmusepack
Edit
libmusepack - Required to play musepack (not related to mpc) files.
libmikmod
Edit
libmikmod - Required to play the following mod files:
- 669 (Composer 669, Unis 669)
- AMF (DSMI Advanced Module Format)
- AMF (ASYLUM Music Format V1.0)
- APUN (APlayer)
- DSM (DSIK internal format)
- FAR (Farandole Composer)
- GDM (General DigiMusic)
- IT (Impulse Tracker)
- IMF (Imago Orpheus)
- MOD (15 and 31 instruments)
- MED (OctaMED)
- MTM (MultiTracker Module editor)
- OKT (Amiga Oktalyzer)
- S3M (Scream Tracker 3)
- STM (Scream Tracker)
- STX (Scream Tracker Music Interface Kit)
- ULT (UltraTracker)
- UNI (MikMod)
- XM (FastTracker 2)
Tagging
Edit
libid3tag
Edit
libid3tag - Required to display id3v1 or id3v2 tags
- zlib - A requirement of libid3tag.
libvorbis
Edit
Commonly used in conjunction with libogg, described above
libvorbis - Required to display vorbis tags (FLAC, ogg)