Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2010-05-31 | decoder/vorbis: rename local variable "ret" | Max Kellermann | 1 | -6/+5 | |
2010-05-31 | decoder/vorbis: implement method stream_tag() | Max Kellermann | 1 | -11/+4 | |
This allows tags in archive files. | |||||
2010-05-31 | decoder/vorbis: move code to vorbis_open_stream() | Max Kellermann | 1 | -19/+23 | |
2010-05-30 | decoder/vorbis: use single global ov_callbacks constant | Max Kellermann | 1 | -6/+9 | |
Initialize the ov_callbacks struct at compile time. | |||||
2010-05-30 | decoder/vorbis: rename struct vorbis_decoder_data to vorbis_is | Max Kellermann | 1 | -20/+19 | |
2010-05-30 | inotify_update: follow symlinks | Max Kellermann | 1 | -2/+1 | |
This is probably unsafe, and doesn't protect against symlink loops, but we will eventually add this when we bring update*.c and inotify*.c closer together. | |||||
2010-05-30 | inotify_update: fix assertion failure when music dir is deleted | Max Kellermann | 1 | -1/+7 | |
This shouldn't really happen, but insane users might delete/rename the music directory while MPD runs. What was even more insane was that MPD crashed due to this. This is a workaround - there is currently nothing useful we can do in this case; except maybe poll for the music directory to reappear, but that's too much trouble for a user error. | |||||
2010-05-30 | decoder/mp4ff: support tags "albumartist", "band" | Max Kellermann | 1 | -0/+2 | |
I'm not sure if mapping "band" to TAG_PERFORMER is correct, but it might be better than nothing. | |||||
2010-05-30 | decoder/mp4ff: use tag_table.h to parse tag names | Max Kellermann | 1 | -18/+15 | |
Convert if/else/else/... to a loop. | |||||
2010-05-30 | decoder/mp4ff: rename plugin "mp4" to "mp4ff" | Max Kellermann | 1 | -1/+1 | |
The underlying library is named "libmp4ff". To reduce confusion, rename the plugin to a more specific name. | |||||
2010-05-30 | tag_ape: move table lookup to tag_table.h | Max Kellermann | 2 | -9/+52 | |
Allow code sharing. | |||||
2010-05-30 | tag_ape: support album artist, MusicBrainz tags | Max Kellermann | 1 | -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-30 | decoder/mad: fix buffer variable name on !HAVE_ID3TAG | Max Kellermann | 1 | -3/+3 | |
2010-05-30 | filter/replay_gain: added option "replaygain_limit" | Daniel Seuthe | 8 | -14/+26 | |
2010-05-20 | cmdline: Add default config paths for win32. | Avuton Olrich | 1 | -1/+38 | |
2010-05-20 | output/win32: new output plugin for Windows Wave | Max Kellermann | 2 | -0/+300 | |
2010-05-20 | pcm_buffer: 8 kB alignment instead of 64 kB | Max Kellermann | 1 | -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-20 | tag_{id3,ape}: explicitly open files in binary mode | Max Kellermann | 2 | -2/+2 | |
Add the flag "b" to fopen(). Windows compatibility. | |||||
2010-05-20 | input/file, output/{fifo,recorder}: add O_BINARY to open() flags | Max Kellermann | 4 | -7/+49 | |
Windows compatibility. | |||||
2010-05-19 | client: use sprintf() on WIN32 | Max Kellermann | 1 | -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-19 | event_pipe: use g_io_channel_read_chars() to drain the pipe | Max Kellermann | 1 | -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-19 | event_pipe: call g_io_channel_win32_new_fd() | Max Kellermann | 1 | -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-19 | update_walk: don't check recursive symlinks on WIN32 | Max Kellermann | 1 | -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-18 | crossfade: emulate strtok_r() on WIN32 with a function | Max Kellermann | 1 | -1/+5 | |
Not a CPP macro. This adds the "unused" attribute to "saveptr", which eliminates one gcc warning. | |||||
2010-05-18 | command: fallback strftime() formats on WIN32 | Max Kellermann | 2 | -3/+11 | |
On WIN32, "%F" and "%T" are not implemented. | |||||
2010-05-18 | socket_util: fix setsockopt() argument type on WIN32 | Max Kellermann | 1 | -1/+7 | |
In the winsock headers, the setsockopt() argument is declared as "const char *", not "const void *". | |||||
2010-05-18 | daemon: include glib.h on WIN32 for g_error() | Max Kellermann | 1 | -0/+1 | |
2010-05-18 | fd_util: fd_set_cloexec() returns a value on WIN32 | Max Kellermann | 1 | -0/+2 | |
This function is empty on WIN32, but we need to return a value. | |||||
2010-05-18 | input/ffmpeg: new input plugin using libavformat's "avio" library | Max Kellermann | 5 | -0/+217 | |
2010-05-18 | input/mms: removed empty method buffer() | Max Kellermann | 1 | -8/+0 | |
input_stream_buffer() has a check for "buffer==NULL", so we don't need an explicit empty implementation. | |||||
2010-05-18 | input/mms: initialize the "eof" attribute | Max Kellermann | 1 | -0/+2 | |
2010-05-18 | input/mms: fix memory leak in error handler | Max Kellermann | 1 | -0/+1 | |
2010-05-18 | decoder_api: return effective replay gain | Daniel Seuthe | 1 | -1/+1 | |
Pay attention to the ReplayGain mode "auto" and the replay_gain_missing_preamp parameter inside of decoder_replay_gain(). | |||||
2010-05-18 | replay_gain_config: added function replay_gain_get_real_mode() | Daniel Seuthe | 3 | -11/+21 | |
2010-05-14 | output/oss: 24 bit support via OSS4 | Max Kellermann | 1 | -0/+34 | |
Added #ifdefs on the macros AFMT_S24_NE and other OSS4 extensions. | |||||
2010-05-13 | output/oss: rewrite of the audio format detection | Max Kellermann | 1 | -301/+324 | |
Removed the "supported" / "unsupported" arrays, and auto-detect on every open() call, just like the ALSA output plugin. | |||||
2010-05-13 | output/oss: use the *_NE macros | Max Kellermann | 1 | -8/+2 | |
Removed the macro AFMT_S16_MPD. | |||||
2010-05-11 | AudioCompress: include stdint.h for int16_t definition. | Avuton Olrich | 1 | -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-08 | client_new: Send greeting using send() rather than write(). | Avuton Olrich | 1 | -1/+7 | |
This is portable for win32 and fixes client logins there. | |||||
2010-05-08 | mixramp: Remove maths from pcm_mix when using MixRamp overlaps. | Tim Phipps | 2 | -22/+104 | |
2010-05-08 | mixramp: Adjust MixRamp threshold to account for ReplayGain. | Tim Phipps | 10 | -12/+42 | |
2010-05-08 | log: /dev/null doesn't exist on win32. | Avuton Olrich | 1 | -0/+2 | |
2010-05-02 | output_thread: call replay gain filter manually | Max Kellermann | 4 | -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-02 | player_thread: move cross-fading to output thread | Max Kellermann | 8 | -65/+50 | |
Remove cross_fade_apply(), and call pcm_mix() in the output thread, mixing the chunk and chunk->other together. | |||||
2010-05-02 | chunk: added attribute "other" | Max Kellermann | 3 | -0/+10 | |
Preparation for cross-fading support in the output thread. | |||||
2010-05-02 | output_thread: moved code to ao_filter_open(), ao_filter_close() | Max Kellermann | 1 | -7/+19 | |
2010-05-02 | output_thread: moved filter invocation to ao_filter_chunk() | Max Kellermann | 1 | -16/+52 | |
2010-05-02 | filter/replay_gain: removed duplicate *dest_size_r assignment | Max Kellermann | 1 | -1/+0 | |
2010-04-25 | replay_gain: added mode "auto" | Daniel Seuthe | 3 | -4/+23 | |
2010-04-13 | inotify_update: start update when directory is created | Max Kellermann | 1 | -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. |