aboutsummaryrefslogtreecommitdiffstats
path: root/doc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shout: introduce pluggable encoder APIEric Wollesen2008-09-122-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* Adding FIFO audio output. This is pretty much identical to the old one,J. Alexander Treuman2007-06-131-0/+11
| | | | | except that it now uses a timer for throttling. git-svn-id: https://svn.musicpd.org/mpd/trunk@6621 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Make the shout timeout configurable. The default is still 2 seconds.J. Alexander Treuman2007-06-122-0/+5
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6556 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding ChangeLog entry for zeroconf_enabled, adding Zeroconf section toJ. Alexander Treuman2007-06-032-8/+13
| | | | | mpdconf.example, and updating the zeroconf_* docs. git-svn-id: https://svn.musicpd.org/mpd/trunk@6474 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* allow zeroconf to be disabled.Patrik Weiskircher2007-06-032-0/+7
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6467 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding a null output to mpdconf.example.J. Alexander Treuman2007-05-301-0/+7
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6394 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Increasing default buffer_before_play from 0% to 10%.J. Alexander Treuman2007-05-272-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6290 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding a note to mpdconf.example about increasing buffer_before_play if youJ. Alexander Treuman2007-05-231-0/+1
| | | | | hear skipping when changing songs. git-svn-id: https://svn.musicpd.org/mpd/trunk@6240 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Updating the audio_buffer_size and buffer_before_play entries inJ. Alexander Treuman2007-05-231-4/+5
| | | | | mpd.conf.5. git-svn-id: https://svn.musicpd.org/mpd/trunk@6239 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding JACK documentation to mpd.conf.5.J. Alexander Treuman2007-05-231-0/+14
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6231 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* mpd.conf.5 claimed the default alsa device was "hw:0,0", but it's actuallyJ. Alexander Treuman2007-04-251-1/+1
| | | | | "default". git-svn-id: https://svn.musicpd.org/mpd/trunk@5943 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Noting the defaults for use_mmap and gapless_mp3_playback in mpd.conf.5.J. Alexander Treuman2007-04-091-2/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5895 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Updating metadata_to_use docs to be more consistent with tagtypes command.J. Alexander Treuman2007-03-312-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5793 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Reordering parameters in mpd.conf.5 to match the order in mpdconf.example.J. Alexander Treuman2007-03-311-31/+31
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5788 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Being a picky little bitch about those doc updates.J. Alexander Treuman2007-03-311-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5787 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Doc updates for 0.13.0Avuton Olrich2007-03-311-0/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5786 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Tidying up libsamplerate documentation in the mpd.conf man page.J. Alexander Treuman2007-02-131-13/+17
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5335 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Tidying up libsamplerate example in mpdconf.example.J. Alexander Treuman2007-02-131-4/+5
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add libsamplerate support, old resampling is still an option, but this ↵Avuton Olrich2007-02-022-0/+35
| | | | | 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
* Added zeroconf service publishing using avahiJim Ramsay2007-01-111-0/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5238 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding documentation for gapless_mp3_playback config option.J. Alexander Treuman2006-12-232-6/+21
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@5158 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Filling in link to wiki for audio outputs in mpdconf.exampleJ. Alexander Treuman2006-09-151-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4776 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* I can't believe qball is correcting my typos.J. Alexander Treuman2006-09-131-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4771 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Typo found by bensonk.J. Alexander Treuman2006-09-121-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4769 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* New example config.J. Alexander Treuman2006-09-121-171/+173
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4768 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* replaygain -> ReplayGain in docsJ. Alexander Treuman2006-09-121-5/+5
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4767 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Note that mpd will scan for an audio output if none is specified.J. Alexander Treuman2006-09-121-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4766 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Rearrange mpd.conf.5 and conf.[ch] to use the more logical ordering of ↵J. Alexander Treuman2006-08-281-58/+58
| | | | | config parameters that the new (yet to be committed) mpdconf.example will use. git-svn-id: https://svn.musicpd.org/mpd/trunk@4715 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Note that default for metadata_to_use doesn't include commentsJ. Alexander Treuman2006-08-281-1/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4714 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add id3v1_encoding to the mpd.conf man page.J. Alexander Treuman2006-08-281-0/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4713 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* ves the spelling nazi strikes againJ. Alexander Treuman2006-08-082-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4602 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Document which parameters may be specified multiple times in mpd.conf.5J. Alexander Treuman2006-07-271-5/+8
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4478 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Remove the fifo plugin. It's currently useless for the average user, and ↵J. Alexander Treuman2006-07-261-11/+0
| | | | | making it more presentable isn't something I'm willing to do before 0.12. It will likely be added back after 0.12, along with some very experimental stuff to make it more usable. git-svn-id: https://svn.musicpd.org/mpd/trunk@4472 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* - Add a 'scripts' directory, remove scripts fromAvuton Olrich2006-07-221-1/+0
| | | | | | | | | | docs/ & base directory - Add a spec file (my first try, please report problems) git-svn-id: https://svn.musicpd.org/mpd/trunk@4429 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding on the fly volume normalization support. Code originally from ↵J. Alexander Treuman2006-07-222-1/+11
| | | | | 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
* Adding fifo output pluginJ. Alexander Treuman2006-07-221-0/+11
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4423 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add mpd-indent.shAvuton Olrich2006-07-201-0/+1
| | | | | | Add a few new options for indent to try to make things a bit cleaner git-svn-id: https://svn.musicpd.org/mpd/trunk@4411 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Split audio output parameters documentation in mpd.conf.5 into ↵J. Alexander Treuman2006-07-161-46/+44
| | | | | output-specific sections, since we have a lot of output-specific parameters now git-svn-id: https://svn.musicpd.org/mpd/trunk@4367 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* audioOutput_alsa: add use_mmap, period_time, buffer_time optionsEric Wong2006-07-161-0/+20
| | | | | | | ALSA support in libao supports configuring of these variables, and some hardware setups may benefit from having these things as tweakable. git-svn-id: https://svn.musicpd.org/mpd/trunk@4363 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Removing MPD-Protocol.xml, since it's old, very incomplete, and will likely ↵J. Alexander Treuman2006-07-161-332/+0
| | | | | never be finished git-svn-id: https://svn.musicpd.org/mpd/trunk@4360 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Added a warning to COMMANDS that it's out of dateJ. Alexander Treuman2006-07-161-9/+9
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4359 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Fix more shank typos in mpdconf.example. Thanks to ves for reporting them.J. Alexander Treuman2006-07-161-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4358 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Change shank's email addressJ. Alexander Treuman2006-07-141-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Link to PulseAudio wiki in mpd.conf.5 for more details on the format of the ↵J. Alexander Treuman2006-07-131-1/+2
| | | | | server string git-svn-id: https://svn.musicpd.org/mpd/trunk@4318 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add PulseAudio supportJ. Alexander Treuman2006-07-131-6/+14
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4316 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Typo.J. Alexander Treuman2006-06-301-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Add back the id3v1_encoding option. Now it really will convert id3v1 only.J. Alexander Treuman2006-06-211-0/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4282 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Made pid_file an optional config parameter.J. Alexander Treuman2006-06-052-2/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4250 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* New man page for mpd.conf. Thanks to qball and eleusis for input.J. Alexander Treuman2006-06-042-1/+284
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4248 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Removed normalperson as an author in mpd.1 at his request.J. Alexander Treuman2006-05-151-2/+0
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@4182 09075e82-0dd4-0310-85a5-a0d7c8717e4f