- 16 Oct, 2009 1 commit
-
-
Max Kellermann authored
When the player thread unpauses, it sends CANCEL to the output thread, after having checked that the output is still open. Problem is when the output thread closes the device before it can process the CANCEL command - race condition. This patch adds another "open" check inside the output thread.
-
- 13 Oct, 2009 1 commit
-
-
Max Kellermann authored
When the connection is lost while buffering, the CURL input plugin may enter an endless loop, because it does not check the EOF condition. This patch makes fill_buffer() return success only if there's at least one buffer, which is enough of a check.x
-
- 11 Oct, 2009 4 commits
-
-
Max Kellermann authored
On 32 bit systems with large file support enabled (i.e. "sizeof(off_t) > sizeof(size_t)") gcc emits a warning because a size_t cast to off_t can never become negative.
-
Max Kellermann authored
When there is no Content-Type response header, try the "mad" decoder plugin. It uesd to be named "mp3", and we forgot to change the fallback name in decoder_thread.c.
-
Max Kellermann authored
When a received chunk of data has only icy-metadata, there was no usable data left for input_curl_read() to return, and thus it returned 0 bytes. "0" however is a special value for "end of file" or "error". This patch makes input_curl_read() read more data from the socket, until the read request can be fulfilled (or until there's really EOF).
-
Max Kellermann authored
-
- 03 Oct, 2009 2 commits
-
-
Avuton Olrich authored
-
Avuton Olrich authored
-
- 30 Sep, 2009 3 commits
-
-
Max Kellermann authored
Usually, we read our "artist" tag from ffmpeg's "author" tag. In some cases however (e.g. APE), this tag is named "artist". This patch implements a fallback: if no "author" is found, MPD tries to use "artist".
-
Max Kellermann authored
When the ID3 tag in an AAC file is larger than the current buffer, the function decoder_buffer_consume() aborts. By using the new function decoder_buffer_skip() instead, we can safely skip the ID3 tag.
-
Max Kellermann authored
-
- 20 Sep, 2009 2 commits
-
-
Serge Ziryukin authored
-
Patrik Weiskircher authored
Include CoreServices/CoreServices.h.
-
- 10 Sep, 2009 3 commits
-
-
Max Kellermann authored
The update job id is positive. When used in a command list, MPD prints one job id for each "update" command.
-
Max Kellermann authored
Add a second column of comment signs on some parameters which users shouldn't usually set, unless they know what they're doing.
-
Max Kellermann authored
This patch made ov_time_total() unusable, and MPD did not know the duration of songs.
-
- 30 Aug, 2009 2 commits
-
-
Avuton Olrich authored
-
Avuton Olrich authored
-
- 24 Aug, 2009 2 commits
-
-
Anton Khirnov authored
-
Rasmus Steinke authored
using ov_test_callback with function CALLBACKS_STREAMONLY will cause scanning to stop after the comment field. ov_open (and ov_test) default to CALLBACKS_DEFAULT which scans the file structure causing a huge slowdown. The speed improvement is huge: It scanned my files around 10x faster This procedure has been recommended by monthy (main vorbis developer) and was said to be safe for scanning files.
-
- 19 Aug, 2009 1 commit
-
-
Igor Kuzmin authored
MPD checks if every flac (possibly other types as well) file contains cuesheet on every update, which produces unneeded I/O. My music collection is on NFS share, so it's quite noticeable. IMHO, it shouldn't re-read unchanged files, so I wrote simple patch to fix it.
-
- 18 Aug, 2009 1 commit
-
-
Max Kellermann authored
Fix stuttering due to uninitialized variable.
-
- 15 Aug, 2009 2 commits
-
-
Avuton Olrich authored
-
Avuton Olrich authored
-
- 14 Aug, 2009 6 commits
-
-
Max Kellermann authored
During the pause loop, manually sleep for 500ms if shout_delay() returns a value greater than that. Don't exhaust libshout's buffer.
-
Max Kellermann authored
Explicitly make the output thread leave the ao_pause() loop. This patch is a workaround, and the "pause" flag is not managed in a thread-safe way, but that's good enough for now.
-
Max Kellermann authored
dirvec_delete() does not free the object, we have to call directory_free() afterwards.
-
Max Kellermann authored
The return value of map_directory_child_fs() must be freed.
-
Max Kellermann authored
The function flac_cue_track() first calls FLAC__metadata_object_new(), then overwrites this pointer with FLAC__metadata_get_cuesheet(). This allocate two FLAC__StreamMetadata objects, but the first pointer is lost, and never freed.
-
Max Kellermann authored
When you pass an empty string to directory_update_init(), it was not freed by update_task().
-
- 22 Jul, 2009 5 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
The FLAC replaygain parser used the "||" operator. This made the code stop after the first value which was found.
-
Max Kellermann authored
When one metadata check fails, return quickly. This removes 2 levels of indent.
-
Max Kellermann authored
This belongs into "git annotate" or AUTHORS.
-
Max Kellermann authored
When libid3tag is disabled, the libmad decoder plugin is unable to identify ID3 frames. If the file starts with an (unidentified) ID3 frame, it assumes that the file is not a valid MP3 song. This patch solves this by adding minimal stubs for the ID3 functions.
-
- 19 Jul, 2009 2 commits
-
-
Max Kellermann authored
The function tag_ape_load() retrieves a 32 bit unsigned integer from the input file, and passes it to g_malloc(). This is dangerous, and may be used for a denial of service attack on MPD.
-
Max Kellermann authored
Extend the tagLen check after reading it. Removed the second (redundant) check after the subtraction.
-
- 18 Jul, 2009 1 commit
-
-
Max Kellermann authored
The expression "tagLen - size > 0" may result in an integer underflow and a buffer overflow, when "size" is larger than "tagLen". "size" is read from the input file, and must not be trusted. This patch changes the expression to "tagLen > size", which is a lot safer.
-
- 17 Jul, 2009 1 commit
-
-
Max Kellermann authored
--enable means "enable", not "disable".
-
- 15 Jul, 2009 1 commit
-
-
Avuton Olrich authored
-