Commit Graph

122 Commits

Author SHA1 Message Date
Max Kellermann
e62580db0b httpd: new output plugin to replace "shout"
Let's get rid of the "shout" plugin, and the awfully complicated
icecast daemon setup!  MPD can do better if it's doing the HTTP server
stuff on its own.  This new plugin has several advantages:

- easier to set up - only one daemon, no password settings, no mount
  settings
- MPD controls the encoder and thus already knows the packet
  boundaries - icecast has to parse them
- MPD doesn't bother to encode data while nobody is listening

This implementation is very experimental (no header parsing, ignores
request URI, no icy-metadata, ...).  It should be able to suport
several encoders in parallel in the future (with different bit rates,
different codec, ...), to make MPD the perfect streaming server.  Once
MPD gets multi-player support, we can even mount several different
radio stations on one server.
2009-03-15 03:32:34 +01:00
Michal Nazarewicz
cabbf7ab4a pipe: new audio output plugin which runs a command
[mk: adapted to new output plugin API]
2009-02-28 16:11:59 +01:00
Avuton Olrich
90ee488597 mixer: Add "disabled" mixer_type. 2009-02-26 09:13:07 -08:00
Max Kellermann
ecb20c5f7e mixer: renamed mix_* options to mixer_*
There is no reason to use the shortcut "mix" instead of "mixer".
2009-01-01 18:36:47 +01:00
Viliam Mateicka
9a70c4d06d Moving mixers to audio outputs 2008-12-31 16:46:41 +01:00
Max Kellermann
c01aa53e6a log: support syslog()
Allow logging to syslog if log_file is configured to "syslog".
2008-12-28 19:48:53 +01:00
Max Kellermann
8dc92ad284 log: deprecated "error_file" option
Removed the "error_file" option.  There is only one log file now.  If
a user wants to see only the errors, he should configure a log_level.
2008-12-28 19:48:52 +01:00
Avuton Olrich
fbc573d03a Fix a few problems with the huge mpdconf update. There's alot of shift here, mostly due to word wraps. This, also, improves on uniformity and clarity of the document. 2008-12-24 15:02:01 -08:00
Max Kellermann
bc31d7a0ee Merge branch 'master' of git://git.musicpd.org/avuton/mpd
Conflicts:

	doc/mpdconf.example
2008-12-21 19:39:08 +01:00
Avuton Olrich
04561b604b Huge mpdconf update.
Over time mpdconf has evolved and has been maintained and contributed to by many different folks at different
times. Try to give it some unity. Attempt to clear up some language and make things crystal clear. Add more
examples. Use tabs when it makes sense. Make better borders. Remove obsolete options. Try to put more defaults
when it makes sense.
2008-12-20 22:09:06 -08:00
Max Kellermann
a6e981c08d doc: clarify "user" setting (starting as root / unprivileged)
The "user" option does not work if MPD is started by an unprivileged
user.
2008-12-20 17:37:12 +01:00
Max Kellermann
f5bbb2b819 man: document Unix domain socket configuration in the manual
Additionally, add an example in mpdconf.example.
2008-12-16 21:31:52 +01:00
Avuton Olrich
a25b8acd82 update: default to follow all symlinks
MPD 0.13 and older followed all symbolic links.  Although this can be
a security problem (as it has always been), 0.14 should offer the same
default behaviour as 0.13.
2008-12-08 10:01:20 +01:00
Raphaël Rigo
5b089f85fd update: added options which control symlink behaviour
The configuration options "follow_outside_symlinks" and
"follow_inside_symlinks" let the user control whether MPD should
follow symbolic links in the music directory.

[mk: converted variables to "bool"; moved configuration to
update_global_init()]
2008-11-28 10:57:39 +01:00
Alam Arias
f61bb4c8cf update mpdconf.example that shout ouput encoding and protocol settings are optional 2008-10-31 13:54:46 +01:00
Alam Arias
0c43f78b11 replace tabs with space in shout audio_output example 2008-10-31 12:20:49 +01:00
Aaron McEwan
2139d8bba8 shout: make the protocol configurable
Added configuration parameter "protocol" which lets the user choose
from 3 shout protocols.  This adds support for real shoutcast servers.
2008-10-12 12:14:51 +02:00
Eric Wollesen
4970c42c86 shout: introduce pluggable encoder API
I've perhaps gone a bit overboard, but here's the current rundown:

Both Ogg and MP3 use the "shout" audio output plugin.  The shout audio
output plugin itself has two new plugins, one for the Ogg encoder,
and another for the MP3 (LAME) encoder.

Configuration for an Ogg stream doesn't change.  For an MP3 stream,
configuration is the same as Ogg, with two exceptions.  First, you must
specify the optional "encoding" parameter, which should be set to "mp3".
See mpd.conf(5) for more details.  Second, the "quality" parameter is
reversed for LAME, such that 1 is high quality for LAME, whereas 10 is
high quality for Ogg.

I've decomposed the code so that all libshout related operations
are done in audioOutput_shout.c, all Ogg specific functions are in
audioOutput_shout_ogg.c, and of course then all LAME specific functions
are handled in audioOutput_shout_mp3.c.

To develop encoder plugins for the shout audio output plugin, I basically
just mimicked the plugin system used for audio outputs.  This might be
overkill, but hopefully if anyone ever wants to support some other sort
of stream, like maybe AAC, FLAC, or WMA (hey it could happen), they will
hopefully be all set.

The Ogg encoder is slightly less optimal under this configuration.
It used to send shout data directly out of its ogg_page structures.  Now,
in the interest of encapsulation, it copies the data from its ogg_page
structures into a buffer provided by the shout audio output plugin (see
audioOutput_shout_ogg.c, line 77.)  I suspect the performance impact
is negligible.

As for metadata, I'm pretty sure they'll both work.  I wrote up a test
scaffold that would create a fake tag, and tell the plugin to send it
out to the stream every few seconds.  It seemed to work fine.  Of course,
if something does break, I'll be glad to fix it.

Lastly, I've renamed lots of things into snake_case, in keeping with
normalperson's wishes in that regard.

[mk: moved the MP3 patch after this one.  Splitted this patch into
several parts; the others were already applied before this one.  Fixed
a bunch GCC warnings and wrong whitespace modifications.  Made it
compile with mpd-mk by adapting to its prototypes]
2008-09-12 16:04:40 +02:00
J. Alexander Treuman
6f2be47270 Make the shout timeout configurable. The default is still 2 seconds.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6556 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-12 18:28:57 +00:00
J. Alexander Treuman
652c2fc8b0 Adding ChangeLog entry for zeroconf_enabled, adding Zeroconf section to
mpdconf.example, and updating the zeroconf_* docs.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6474 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 20:09:12 +00:00
Patrik Weiskircher
d67737bc64 allow zeroconf to be disabled.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6467 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-06-03 18:08:51 +00:00
J. Alexander Treuman
41d65da4bd Adding a null output to mpdconf.example.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6394 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-30 16:58:39 +00:00
J. Alexander Treuman
b9b39849d8 Increasing default buffer_before_play from 0% to 10%.
git-svn-id: https://svn.musicpd.org/mpd/trunk@6290 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-27 13:12:02 +00:00
J. Alexander Treuman
93b96edacc Adding a note to mpdconf.example about increasing buffer_before_play if you
hear skipping when changing songs.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6240 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-05-23 14:13:46 +00:00
J. Alexander Treuman
b1a93e8641 Updating metadata_to_use docs to be more consistent with tagtypes command.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5793 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-03-31 20:40:57 +00:00
J. Alexander Treuman
ea3d38e006 Tidying up libsamplerate example in mpdconf.example.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-13 22:31:47 +00:00
Avuton Olrich
79ef8ba248 Add libsamplerate support, old resampling is still an option, but this sounds much better for those who need it and don't want to use pulseaudio. Reviewed by shank/avuton.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-02 03:51:07 +00:00
Jim Ramsay
5d79aced8c Added zeroconf service publishing using avahi
git-svn-id: https://svn.musicpd.org/mpd/trunk@5238 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-11 20:41:17 +00:00
J. Alexander Treuman
202ae2270d Adding documentation for gapless_mp3_playback config option.
git-svn-id: https://svn.musicpd.org/mpd/trunk@5158 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-23 18:56:23 +00:00
J. Alexander Treuman
528429b028 Filling in link to wiki for audio outputs in mpdconf.example
git-svn-id: https://svn.musicpd.org/mpd/trunk@4776 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-15 00:48:46 +00:00
J. Alexander Treuman
98424851d8 I can't believe qball is correcting my typos.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4771 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-13 17:04:14 +00:00
J. Alexander Treuman
6d5950bbe7 Typo found by bensonk.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4769 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-12 23:23:29 +00:00
J. Alexander Treuman
bb5e87bd3d New example config.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4768 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-09-12 23:16:14 +00:00
J. Alexander Treuman
cf90f8194f Adding on the fly volume normalization support. Code originally from mplayer, ported by syscrash, cleaned up by avuton, and further cleaned up by me (jat).
git-svn-id: https://svn.musicpd.org/mpd/trunk@4424 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-22 00:53:37 +00:00
J. Alexander Treuman
9768d96954 Fix more shank typos in mpdconf.example. Thanks to ves for reporting them.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4358 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-16 15:28:51 +00:00
J. Alexander Treuman
ee8b70b595 Typo.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-30 17:05:27 +00:00
J. Alexander Treuman
18306dfbd3 Add back the id3v1_encoding option. Now it really will convert id3v1 only.
git-svn-id: https://svn.musicpd.org/mpd/trunk@4282 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-06-21 20:52:51 +00:00
Qball Cow
cc679ab624 fix title->track in config file replaygain example
git-svn-id: https://svn.musicpd.org/mpd/trunk@3827 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-01-14 22:57:06 +00:00
Eric Wong
1bfa9173dd remove unnecessary apostrophe
git-svn-id: https://svn.musicpd.org/mpd/trunk@3410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-07-31 11:35:03 +00:00
Warren Dukes
ead82e4d5a change the default max_output_buffer_size from 2048 to 8192
git-svn-id: https://svn.musicpd.org/mpd/trunk@3226 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-04-27 15:54:26 +00:00
Warren Dukes
44f802a74d update config file
git-svn-id: https://svn.musicpd.org/mpd/trunk@3060 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-12 04:06:16 +00:00
Warren Dukes
4c7c6ca4a6 *) add support for pid files
*) we now require pid_file to specified in the config
*) new prefered method for killing mpd: mpd --kill
*) cleaned up some nastiness with decode_pid handling

git-svn-id: https://svn.musicpd.org/mpd/trunk@3042 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-09 03:13:33 +00:00
Warren Dukes
586a21688f config file change! now 'port' is optional and 'db_file' is required!
also, should have better error reporting when failing to open playlist or
music directory's, or writing the db, etc

git-svn-id: https://svn.musicpd.org/mpd/trunk@3027 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-06 19:00:58 +00:00
Warren Dukes
d60c37f1f9 sample config file example
git-svn-id: https://svn.musicpd.org/mpd/trunk@3026 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-06 04:27:19 +00:00
Warren Dukes
3bdee55217 added composer, performer, and comment metadata items
git-svn-id: https://svn.musicpd.org/mpd/trunk@3022 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2005-03-05 22:24:10 +00:00
Warren Dukes
c5d27d8eaa merge changes from metadata-rewrite branch
git-svn-id: https://svn.musicpd.org/mpd/trunk@2589 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-10 21:58:27 +00:00
Warren Dukes
902cfe2523 add "genre" and "description" to shout config parameters
git-svn-id: https://svn.musicpd.org/mpd/trunk@2557 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-09 13:04:20 +00:00
Warren Dukes
b7c7f6e692 update mpdconf.example
git-svn-id: https://svn.musicpd.org/mpd/trunk@2527 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-06 16:34:20 +00:00
Warren Dukes
657bec26b1 update default mpdconf.example to use default ao output
git-svn-id: https://svn.musicpd.org/mpd/trunk@2407 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-29 18:28:06 +00:00
Warren Dukes
58dbe4bb5d merge shank-rewrite-config changes
git-svn-id: https://svn.musicpd.org/mpd/trunk@2375 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-28 05:14:55 +00:00
Avuton Olrich
9b2529360d Added ao_driver options to help the user pick what they need, also told to refer to libao docs for more info
git-svn-id: https://svn.musicpd.org/mpd/trunk@2350 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-26 17:40:57 +00:00
Warren Dukes
d9c8994319 add shout* stuff to exampe mpd config file
git-svn-id: https://svn.musicpd.org/mpd/trunk@2348 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-10-26 03:47:31 +00:00
Warren Dukes
233afb7c07 1) bumb version to 0.11.3
2) Update changelog for 0.11.3
3) Merge avuton's mpdconf.example changes

git-svn-id: https://svn.musicpd.org/mpd/trunk@1875 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-07-18 12:48:17 +00:00
Warren Dukes
5550baa4af Update doc's and Changelog for 0.11.1
git-svn-id: https://svn.musicpd.org/mpd/trunk@1626 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-23 11:52:25 +00:00
Warren Dukes
b7e0d34b9e update mpd manpage and sample config file with replaygain and
audio_output_format options

git-svn-id: https://svn.musicpd.org/mpd/trunk@1453 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-12 21:27:15 +00:00
Warren Dukes
59db1f9f95 change default port to 6600 (just a doc change)
git-svn-id: https://svn.musicpd.org/mpd/trunk@1291 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-02 01:48:26 +00:00
Warren Dukes
b1d12ba0f6 make default max playlist length be 16384. bumped up from 4096
git-svn-id: https://svn.musicpd.org/mpd/trunk@602 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-04 07:08:00 +00:00
Warren Dukes
d294bc3e57 git-svn-id: https://svn.musicpd.org/mpd/trunk@441 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 01:06:28 +00:00
Warren Dukes
115f9903a4 git-svn-id: https://svn.musicpd.org/mpd/trunk@440 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 01:01:06 +00:00
Warren Dukes
85e4825731 git-svn-id: https://svn.musicpd.org/mpd/trunk@439 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:58:47 +00:00
Warren Dukes
5a9bf01221 git-svn-id: https://svn.musicpd.org/mpd/trunk@437 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:53:55 +00:00
Warren Dukes
6314487982 git-svn-id: https://svn.musicpd.org/mpd/trunk@435 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:48:19 +00:00
Warren Dukes
9dcc46e082 git-svn-id: https://svn.musicpd.org/mpd/trunk@434 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:45:43 +00:00
Warren Dukes
7a5a21f4d2 git-svn-id: https://svn.musicpd.org/mpd/trunk@433 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:42:47 +00:00
Warren Dukes
653c0929e4 git-svn-id: https://svn.musicpd.org/mpd/trunk@432 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:42:03 +00:00
Warren Dukes
ef2f9c673f git-svn-id: https://svn.musicpd.org/mpd/trunk@431 09075e82-0dd4-0310-85a5-a0d7c8717e4f 2004-03-24 00:39:45 +00:00
Warren Dukes
dc17446615 update with better documentation
git-svn-id: https://svn.musicpd.org/mpd/trunk@430 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-24 00:37:54 +00:00
Warren Dukes
1a50453541 password, not passwd, in examples
git-svn-id: https://svn.musicpd.org/mpd/trunk@170 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-02 20:33:12 +00:00
Warren Dukes
5262a06659 update changelog for 0.10.0
update add command info to include dir support
update mpd.1 and conf example to include ~ support

git-svn-id: https://svn.musicpd.org/mpd/trunk@64 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-26 03:36:04 +00:00
Warren Dukes
8a8f1f2d18 update config file example
git-svn-id: https://svn.musicpd.org/mpd/trunk@28 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-24 16:38:46 +00:00
Warren Dukes
0058dbc4e8 updated for 0.10.0
git-svn-id: https://svn.musicpd.org/mpd/trunk@19 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-24 06:14:16 +00:00
Warren Dukes
d35747a40c import from SF CVS
git-svn-id: https://svn.musicpd.org/mpd/trunk@1 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-02-23 23:41:20 +00:00