| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Set the "ready" flag for empty resources.
|
|
|
|
|
| |
To check for early connect failures, call curl_multi_info_read() in
the constructor input_curl_open(). This fixes an assertion failure.
|
|
|
|
|
|
|
|
| |
When a song file is deleted during database update, all pointers to it
must be removed from the playlist. The "for" loop in
deleteASongFromPlaylist() did not deal with multiple copies of the
deleted song properly, and left instances of the (to-be-invalidated)
pointer in. Fix this by reversing the loop.
|
|
|
|
|
|
|
|
|
|
| |
If http_proxy_{host, port, user, password} are provided in mpd.conf
they are not passed on to libcurl. As a result mpd cannot stream from
behind an http proxy.
The attached patch `http_proxy.patch` makes the relevant calls to
curl_easy_setopt(...) for all proxy configuration parameters, but is
only tested for host and port.
|
|
|
|
|
|
|
|
| |
MPD's shuffling algorithm was not implemented well: it considers songs
which were already swapped, making it somewhat non-random.
Fix the Fisher-Yates shuffle algorithm by passing the proper bounds to
the PRNG.
|
|
|
|
|
|
|
| |
When decoder_run_song() (decoder_thread.c) waits for the input stream
to become ready, it did that in a busy loop. Add a select() call to
input_curl_buffer() during connect/handshake (i.e. before the first
chunk of body data was received), to let the CPU relax.
|
|
|
|
| |
Save an empty database, even if the music directory is empty.
|
|
|
|
|
| |
Don't use libc's rand() function, because it is slow. Our own trivial
linear congruential generator is good enough for dithering.
|
| |
|
|
|
|
|
|
| |
libid3tag comes without a pkg-config file, and it is usually added by
distribution packages. For those without .pc file, attempt to
auto-detect the library with AC_CHECK_LIB.
|
|
|
|
|
|
| |
Don't call command_error() if loading a song from the playlist fails.
This may result in assertion failures, since command_error() may be
called more than once.
|
|
|
|
|
|
|
|
| |
When the decoder of the new song is not fast enough, the player thread
has to wait for it for a moment. However the variable "nextChunk" was
reset to -1 during that, making the next loop iteration assume that
cross-fading has not begun yet. This patch overwrites it with "0"
while waiting.
|
|
|
|
|
|
|
| |
This patch fixes a minor memory leak: when decoder_tag() attempted to
send a merged tag object (created by tag_add_stream_tags()), and was
interrupted by a decoder command, it did not free the temporary merged
tag object.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
libmikmod seems to be unmaintained, and has several critical bugs
which make MPD crash.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=461519
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476339
Disable the plugin by default to minimize harm. Users should
explicitly enable the mikmod decoder (--enable-mod) if they wish to
have it anyway.
|
| |
|
| |
|
| |
|
|
|
|
| |
Adding some of the most important changes since 0.13.
|
|
|
|
| |
Trying to bring a little bit of structure into that list.
|
|
The file name "NEWS" is standardized.
|