Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2010-06-19 | playlist: protect acess to player state in playlist_sync() | Max Kellermann | 1 | -2/+7 | |
2010-06-19 | playlist: move checks out of playlist_sync_with_queue() | Max Kellermann | 1 | -20/+21 | |
Rename the function to playlist_song_started(), which gets only called if the song has actually started. | |||||
2010-06-19 | player_control: hold mutex in pc_play(), pc_pause() | Max Kellermann | 1 | -9/+42 | |
Race condition fix. | |||||
2010-06-06 | filter/route: fixed unsigned/signed comparison | Max Kellermann | 1 | -1/+1 | |
Fixes a clang warning. | |||||
2010-06-06 | output/httpd: add libwrap support | Tim Phipps | 1 | -0/+28 | |
libwrap support is in MPD but only for the control port. This patch adds support for the http port. The code is copied from src/client_new.c | |||||
2010-06-01 | directory_print: print a list of playlist files in "lsinfo" | Max Kellermann | 1 | -0/+61 | |
Print those files which can be handled by a playlist plugin. | |||||
2010-06-01 | playlist_list: export playlist_suffix_supported() | Max Kellermann | 2 | -1/+10 | |
2010-06-01 | playlist_list: playlist_list_open_path() returns input_stream | Max Kellermann | 6 | -16/+39 | |
Memory leak fix. The input_stream object passed to playlist_list_open_stream_suffix() must be closed by the caller - this however never happens in playlist_list_open_path(), because it does not return it to the caller. | |||||
2010-06-01 | playlist_list: move fallback g_uri_parse_scheme() to glib_compat.h | Max Kellermann | 2 | -14/+16 | |
2010-06-01 | playlist: emit IDLE_OPTIONS when resetting single mode | Max Kellermann | 1 | -0/+2 | |
2010-05-31 | single mode: at the end of the song, pause on the next song instead of stop | Romain Bignon | 3 | -19/+13 | |
2010-05-31 | directory_print: return void | Max Kellermann | 2 | -7/+3 | |
There is no useful return value here. | |||||
2010-05-31 | fix crash when decoder is NULL | Romain Bignon | 1 | -2/+2 | |
2010-05-31 | decoder/mikmod: fix memory leak | Max Kellermann | 1 | -2/+4 | |
The return value of Player_LoadTitle() is allocated with malloc(), and must be freed by the caller. | |||||
2010-05-31 | decoder/mikmod: duplicate the path only once | Max Kellermann | 1 | -2/+2 | |
2010-05-31 | decoder/mikdmod: moved local variable declarations in tag_dup() | Max Kellermann | 1 | -12/+8 | |
2010-05-31 | decoder/wildmidi: moved local variable declarations in tag_dup() | Max Kellermann | 1 | -7/+3 | |
2010-05-31 | decoder/gme: replace macro GME_BUF_SIZE | Max Kellermann | 1 | -4/+5 | |
Added macros with better names: GME_BUFFER_FRAMES, GME_BUFFER_SAMPLES (the former only used to calculate the latter). | |||||
2010-05-31 | decoder/gme: added constants for sample rate and channels | Max Kellermann | 1 | -6/+12 | |
Move into enums. | |||||
2010-05-31 | decoder/gme: pass the whole buffer to decoder_data() | Max Kellermann | 1 | -2/+2 | |
Pass sizeof(buf) to decoder_data(), not the number of samples (which is half the size). At the same time, pass GME_BUF_SIZE to gme_play() - libgme really wants to get the number of samples, not the number of stereo frames. Previously, this plugin had been using only the first half of the buffer. | |||||
2010-05-31 | decoder/gme: allocate tag later, fixes memory leak | Max Kellermann | 1 | -1/+1 | |
Allocate the "tag" object after the file has been opened successfully. | |||||
2010-05-31 | decoder/mp4ff: rename and move local variable | Max Kellermann | 1 | -6/+5 | |
Allocate the "tag" object after the file has been checked. That removes one tag_free() call in an error handler. | |||||
2010-05-31 | decoder/mp4ff: merge code into mp4ff_input_stream_open() | Max Kellermann | 1 | -17/+17 | |
2010-05-31 | decoder/mp4ff: move mp4ff_callback_t into mp4ff_input_stream | Max Kellermann | 1 | -12/+15 | |
Allocate only one item on the stack. | |||||
2010-05-31 | decoder/mp4ff: rename mp4_context to mp4ff_input_stream | Max Kellermann | 1 | -9/+9 | |
2010-05-31 | decoder/mp4ff: remove duplicate entries in the tag name table | Max Kellermann | 1 | -9/+5 | |
Reuse the function tag_name_parse_i(). | |||||
2010-05-31 | decoder/mp4ff: moved code to mp4ff_tag_name_parse() | Max Kellermann | 1 | -1/+7 | |
2010-05-31 | tag_ape: remove duplicate entries in the tag name table | Max Kellermann | 1 | -13/+5 | |
Reuse the function tag_name_parse_i(). | |||||
2010-05-31 | tag_ape: move code to tag_ape_name_parse() | Max Kellermann | 1 | -1/+7 | |
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. |