aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-05-30decoder/mp4ff: support tags "albumartist", "band"Max Kellermann1-0/+2
I'm not sure if mapping "band" to TAG_PERFORMER is correct, but it might be better than nothing.
2010-05-30decoder/mp4ff: use tag_table.h to parse tag namesMax Kellermann1-18/+15
Convert if/else/else/... to a loop.
2010-05-30decoder/mp4ff: rename plugin "mp4" to "mp4ff"Max Kellermann1-1/+1
The underlying library is named "libmp4ff". To reduce confusion, rename the plugin to a more specific name.
2010-05-30tag_ape: move table lookup to tag_table.hMax Kellermann2-9/+52
Allow code sharing.
2010-05-30tag_ape: support album artist, MusicBrainz tagsMax Kellermann1-1/+8
I took these tag names from a MusePack sample file I got from a user. These are not documented in the APE specification: http://wiki.hydrogenaudio.org/index.php?title=APE_key People seem to be using undocumented extensions to the specification anyway, and the best we can do is attempt to support them.
2010-05-30decoder/mad: fix buffer variable name on !HAVE_ID3TAGMax Kellermann1-3/+3
2010-05-30filter/replay_gain: added option "replaygain_limit"Daniel Seuthe8-14/+26
2010-05-20cmdline: Add default config paths for win32.Avuton Olrich1-1/+38
2010-05-20output/win32: new output plugin for Windows WaveMax Kellermann2-0/+300
2010-05-20pcm_buffer: 8 kB alignment instead of 64 kBMax Kellermann1-2/+2
Reduce the overhead. Most buffers used by MPD are around 2 to 4 kB. 8 kB seems large enough to keep heap fragmentation low. Additionally, this patch fixes an off-by-one error in the alignment formula.
2010-05-20tag_{id3,ape}: explicitly open files in binary modeMax Kellermann2-2/+2
Add the flag "b" to fopen(). Windows compatibility.
2010-05-20input/file, output/{fifo,recorder}: add O_BINARY to open() flagsMax Kellermann4-7/+49
Windows compatibility.
2010-05-19client: use sprintf() on WIN32Max Kellermann1-0/+13
On mingw32, snprintf() expects a 64 bit integer instead of a "long int" for "%li" - this is not consistent with our expectation, so we're using plain sprintf().
2010-05-19event_pipe: use g_io_channel_read_chars() to drain the pipeMax Kellermann1-6/+14
For some unknown reason, read() blocks on WIN32, even though it was invoked inside the G_IO_IN callback. By switching to GIOChannel functions, this problem is solved, and it works on both Linux and Windows.
2010-05-19event_pipe: call g_io_channel_win32_new_fd()Max Kellermann1-0/+5
On WIN32, use g_io_channel_win32_new_fd() instead of g_io_channel_unix_new(). There doesn't seem to be a practical difference, but it seems more correct.
2010-05-19update_walk: don't check recursive symlinks on WIN32Max Kellermann1-0/+8
inode numbers don't work on WIN32, and very few WIN32 users actually use symlinks - seems ok to disable that check.
2010-05-18crossfade: emulate strtok_r() on WIN32 with a functionMax Kellermann1-1/+5
Not a CPP macro. This adds the "unused" attribute to "saveptr", which eliminates one gcc warning.
2010-05-18command: fallback strftime() formats on WIN32Max Kellermann2-3/+11
On WIN32, "%F" and "%T" are not implemented.
2010-05-18socket_util: fix setsockopt() argument type on WIN32Max Kellermann1-1/+7
In the winsock headers, the setsockopt() argument is declared as "const char *", not "const void *".
2010-05-18daemon: include glib.h on WIN32 for g_error()Max Kellermann1-0/+1
2010-05-18fd_util: fd_set_cloexec() returns a value on WIN32Max Kellermann1-0/+2
This function is empty on WIN32, but we need to return a value.
2010-05-18input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann5-0/+217
2010-05-18input/mms: removed empty method buffer()Max Kellermann1-8/+0
input_stream_buffer() has a check for "buffer==NULL", so we don't need an explicit empty implementation.
2010-05-18input/mms: initialize the "eof" attributeMax Kellermann1-0/+2
2010-05-18input/mms: fix memory leak in error handlerMax Kellermann1-0/+1
2010-05-18decoder_api: return effective replay gainDaniel Seuthe1-1/+1
Pay attention to the ReplayGain mode "auto" and the replay_gain_missing_preamp parameter inside of decoder_replay_gain().
2010-05-18replay_gain_config: added function replay_gain_get_real_mode()Daniel Seuthe3-11/+21
2010-05-14output/oss: 24 bit support via OSS4Max Kellermann1-0/+34
Added #ifdefs on the macros AFMT_S24_NE and other OSS4 extensions.
2010-05-13output/oss: rewrite of the audio format detectionMax Kellermann1-301/+324
Removed the "supported" / "unsupported" arrays, and auto-detect on every open() call, just like the ALSA output plugin.
2010-05-13output/oss: use the *_NE macrosMax Kellermann1-8/+2
Removed the macro AFMT_S16_MPD.
2010-05-11AudioCompress: include stdint.h for int16_t definition.Avuton Olrich1-1/+1
In mingw32, int16_t is not defined by sys/types.h, but it is by stdint.h, and it is in the int16_t man page as being defined in stdint.h. Thanks to mithi for help debugging.
2010-05-08client_new: Send greeting using send() rather than write().Avuton Olrich1-1/+7
This is portable for win32 and fixes client logins there.
2010-05-08mixramp: Remove maths from pcm_mix when using MixRamp overlaps.Tim Phipps2-22/+104
2010-05-08mixramp: Adjust MixRamp threshold to account for ReplayGain.Tim Phipps10-12/+42
2010-05-08log: /dev/null doesn't exist on win32.Avuton Olrich1-0/+2
2010-05-02output_thread: call replay gain filter manuallyMax Kellermann4-17/+85
Don't add it to the filter chain, because we need to apply replay gain before cross-fading with the next song. Add a second replay_gain filter which is used for the song being faded in (chunk->other).
2010-05-02player_thread: move cross-fading to output threadMax Kellermann8-65/+50
Remove cross_fade_apply(), and call pcm_mix() in the output thread, mixing the chunk and chunk->other together.
2010-05-02chunk: added attribute "other"Max Kellermann3-0/+10
Preparation for cross-fading support in the output thread.
2010-05-02output_thread: moved code to ao_filter_open(), ao_filter_close()Max Kellermann1-7/+19
2010-05-02output_thread: moved filter invocation to ao_filter_chunk()Max Kellermann1-16/+52
2010-05-02filter/replay_gain: removed duplicate *dest_size_r assignmentMax Kellermann1-1/+0
2010-04-25replay_gain: added mode "auto"Daniel Seuthe3-4/+23
2010-04-13inotify_update: start update when directory is createdMax Kellermann1-2/+6
This is useful at the maximum depth level, to update newly created directories. It is however questionable if the hard-coded 5 seconds delay is enough to create new directory trees with all of their files, but we might make that delay configurable in the future.
2010-04-13inotify: added setting "auto_update_depth"Max Kellermann5-8/+34
Limits the depth of the watched directories. This is useful to keep resource usage down and speed up MPD startup.
2010-04-13conf: added function config_get_unsigned()Max Kellermann2-0/+21
2010-04-13decoder/mad: properly calculate ID3 size without libid3tagMax Kellermann1-5/+25
Without libid3tag, we were trying to skip the ID3 frame (since 0.15.2). Its length however was not calculated at all, we were just dropping everything from the current input buffer. This lead to the first few seconds of the file being skipped. This patch attempts to calculate the ID3v2 frame size with the formula from: http://www.id3.org/id3v2.4.0-structure 3.1 and 6.2
2010-04-11decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()Charles Kerr1-4/+9
What's happening is the `ptr' argument to that function is NULL for me every time. `ptr' is unconditionally dereferenced to generate a log message, and this is where mpd crashes. Attached is a simple patch that tests for NULL and omits the log. With this patch the crash disappeared and mpd went back to working well.
2010-04-10Decoder for game music emulation library.Tony Miller2-0/+133
Supports a number of videogame music formats, more info here: http://www.fly.net/~ant/libs/audio.html I wrote this plugin for the latest svn, get it here: http://code.google.com/p/game-music-emu/source/checkout
2010-04-05output/httpd: added name/genre/website configurationJames Pike3-5/+25
2010-04-01cue: fix code styleOrivej Desh2-10/+9