Commit Graph

108 Commits

Author SHA1 Message Date
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