aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-11-22PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann1-0/+1
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24 bit overflows. This commit makes 24 bit a special case with explicit clipping.
2013-11-22db/proxy: implement method GetUpdateStamp()Max Kellermann1-0/+1
2013-11-22Stats: print db statistics only if db is availableMax Kellermann1-0/+1
Fixes crash on "stats" in certain configurations.
2013-11-22Stats: auto-reload statistics with proxy pluginMax Kellermann1-0/+2
2013-11-22Mapper: _get_music_directory_utf8() may return nullptrMax Kellermann1-0/+2
If no music_directory is configured, return nullptr instead of an empty string. This fixes a crash when db_file is configured without music_directory.
2013-11-21system/ByteOrder: testing for endianness in a more general wayFlorian Schlichting1-0/+1
Fixes build tests on ia64 and mipsel by testing for endianness in a more general / portable way.
2013-11-21configure.ac: auto-detect fluidsynth by defaultMax Kellermann1-0/+2
The option "--enable-fluidsynth" was documented to be "auto" by default, when it was really "no".
2013-11-18NEWS: add version 0.18.5 change logDenis Krjuchkov1-0/+4
2013-11-13release v0.18.4Max Kellermann1-1/+1
2013-11-11util/RefCount: no "constexpr" with libc++Max Kellermann1-0/+1
Not supported by libc++.
2013-11-11filter/route, ...: add missing stdlib.h includesMax Kellermann1-0/+1
2013-11-10decoder/dsdiff: fix byte order bugJurgen Kramer1-0/+2
2013-11-09configure.ac: prepare for 0.18.4Max Kellermann1-0/+2
2013-11-08release v0.18.3Max Kellermann1-1/+1
2013-11-08PlayerThread: fix stuck MPD after song change (0.18.2 regression)Max Kellermann1-0/+1
Commit 77c63511 caused MPD to become stuck right after a song change. The problem was that at some point, the MusicBuffer became full, and the DecoderThread working on the next song waits for the PlayerThread. However, the PlayerThread was stuck in a loop of g_usleep() calls, and never bothered to tell the DecoderThread that the MusicBuffer is not full anymore. This bug is very old, but its chance to occur went from nearly 0% to nearly 100%. The fix is to wake up the DecoderThread before waiting for it. As a side effect, I replaced the g_usleep() call with a Cond::Wait() call.
2013-11-08configure.ac: prepare for 0.18.3Max Kellermann1-0/+2
2013-11-07release v0.18.2Max Kellermann1-1/+1
2013-11-07input/cdio_paranoia: add setting "default_byte_order"Max Kellermann1-0/+1
Allows big-endian users to configure the fallback byte order to little-endian. Without this setting, MPD assumes native byte order if the CD drive can't decide.
2013-11-06ClientRead: "close" flushes the output bufferMax Kellermann1-0/+2
Add a new CommandResult code called "FINISH" which, unlike "CLOSE", will attempt to flush the output buffer. This is a one-shot attempt; it will do one write, and not try again.
2013-11-06PlayerThread: enable buffering when starting playbackMax Kellermann1-0/+1
For some reason, this got lost in commit 975deca8. Re-enabling this fixes stuttering at the beginning of radio streams.
2013-11-06configure.ac: require libaudiofile 0.3 due to API breakageMax Kellermann1-0/+1
Prior to version 0.3, the "length" callback returned a "long" instead of AFfileoffset. Now that this API bug fix is a few years old, let's drop 0.2 support for good.
2013-11-06input/curl: fix bug with redirected streamsMax Kellermann1-0/+2
Migrate from the old curl_multi_perform() API to the newer curl_multi_socket_action() API (since CURL 7.16). This allows working around a bug with HTTP redirections with epoll: when CURL closes a socket and the new one happens to have the same file number, MPD did not have a chance to remove the old one from epoll and subsequently attempted to use EPOLL_CTL_MOD, which was not allowed by epoll, because it's a new socket now.
2013-11-05system/ByteOrder: fix big-endian supportMax Kellermann1-0/+1
D'oh!
2013-11-05playlist/pls: fix reversed song orderMax Kellermann1-0/+2
Remove the forward_list::reverse() call. It was not necessary, because pls_parser() already reads the playlist in reverse order.
2013-11-05decoder/dsf: enable DSD128Jurgen Kramer1-0/+2
2013-11-05NEWS: add missing lineMax Kellermann1-0/+1
2013-11-05configure.ac: prepare for 0.18.2Max Kellermann1-0/+2
2013-11-04release v0.18.1Max Kellermann1-1/+1
2013-11-04output/alsa: avoid endless loop in Raspberry Pi workaroundMax Kellermann1-0/+2
See code comment.
2013-11-04event/ServerSocket: don't abort if IPv6 is not availableMax Kellermann1-0/+1
First check if an IPv6 socket can be created.
2013-11-04event/ServerSocket: open sockets in the order they were configuredMax Kellermann1-0/+1
Use a std::list which can be appended at the end.
2013-11-04system/resolver: return path of UNIX domain socketsMax Kellermann1-0/+2
getnameinfo() doesn't work well - it always returns "localhost".
2013-11-04ClientRead: always ignore whitespace at the end of the lineMax Kellermann1-0/+2
2013-11-04Makefile.am: distribute missing filesMax Kellermann1-0/+1
2013-11-04filter/AutoConvert: modify child_audio_format, not in_audio_formatMax Kellermann1-0/+2
This prevented using the "volume_normalization" feature with some codecs (e.g. mp3), because the normalization code requires 16 bit samples. If the codec happens to deliver formats other than S16, the AutoConvert filter succeeds to initialize the conversion filter, but the returned input audio format was wrong.
2013-11-04configure.ac: prepare for 0.18.1Max Kellermann1-0/+2
2013-10-31release v0.18Max Kellermann1-1/+2
2013-10-30increase default buffer size to 4 MBMax Kellermann1-0/+1
2 MB was too small for cross-fading a 24 bit file. Increasing to 4 MB is still not too large for weak machines, but is enough for cross-fading.
2013-10-29SongFilter: add special keyword "base"Max Kellermann1-0/+1
Restores the features from the previous draft commands "findin" / "searchin".
2013-10-29Revert "command: new commands "findin", "searchin" with base URI"Max Kellermann1-1/+0
This reverts commit a577944ab5a1f4d688e5901fa3efaf7cd1673588. Will be replaced by new options for the old commands "search" and "find".
2013-10-29SongFilter: "any" does not match file nameMax Kellermann1-0/+1
According to the protocol documentation, matching the file name was wrong. This removes some awkward special-case code.
2013-10-28decoder/dsf: don't play junk at the end of the "data" chunkMax Kellermann1-0/+1
2013-10-28configure.ac: disable the OS X output plugin by defaultMax Kellermann1-0/+1
There hasn't been a maintainer for this plugin for years. It may even fail to build.
2013-10-28DecoderControl: convert mutex and client_cond to a referenceMax Kellermann1-0/+1
Share the Mutex between the DecoderThread and the PlayerThread. This simplifies synchronization between the two threads and fixes a freeze problem: while the PlayerThread waits for the DeocderThread, it cannot answer requests from the main thread, and the main thread will block until the DecoderThread finishes.
2013-10-26command: new commands "findin", "searchin" with base URIMax Kellermann1-0/+1
2013-10-25command: new command "readcomments" lists arbitrary file tagsMax Kellermann1-0/+1
2013-10-25output/httpd: support HEAD requestsMax Kellermann1-0/+1
2013-10-25OtherCommands: re-add the "volume" commandMax Kellermann1-0/+1
This command was removed by commit 206392ad (MPD 0.16), even though it was been proven useful for some very simple clients. On request, I add it to the protocol again.
2013-10-19decoder/modplug: Add "loop_count" parameterSebastian Thorarensen1-0/+1
The "loop_count" configuration parameter allows the user to set how many times a module with backward loops shall loop. "0" (the default) means a module is not allowed to use backward loops at all. "-1" enables inifinite looping.
2013-10-18decoder/mikmod: Add loop configuration parameterSebastian Thorarensen1-0/+1
This patch allows the user to configure the mikmod decoder plugin to loop modules. It adds a configuration parameter to the mikmod decoder called "loop" which can be "no" (the old behaviour, default) or "yes" to allow modules to use backward loops.