aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS (follow)
Commit message (Collapse)AuthorAgeFilesLines
* release v0.18.23Max Kellermann2015-02-061-1/+1
|
* NEWS: fix v0.18.22 release dateMax Kellermann2015-02-011-1/+1
|
* Avoid integer overflow in MonotonicClock{S,MS,US}PHO2015-01-291-0/+1
| | | | | This is Darwin specific: the previous implementation was causing an integer overflow when base.numer is very large. On PPC Darwin, the timebase info is 1000000000/33330116 and this is too large for integer arithmetic.
* {playlist,input}/despotify: remove defunct pluginMax Kellermann2015-01-261-0/+1
|
* ClientProcess: cast enum to int before passing to printf()Max Kellermann2015-01-231-0/+1
| | | | Fixes gcc5 warning.
* configure.ac: prepare for 0.18.23Max Kellermann2015-01-231-0/+2
|
* release v0.18.22Max Kellermann2015-01-141-1/+1
|
* util/{ASCII,UriUtil}, ...: work around -Wtautological-pointer-compareMax Kellermann2014-12-261-0/+1
| | | | New in clang 3.6.
* configure.ac: prepare for 0.18.22Max Kellermann2014-12-261-0/+2
|
* release v0.18.21Max Kellermann2014-12-171-1/+1
|
* playlist/embcue: fix filename suffix detectionk442014-12-161-0/+2
| | | | | The definition of the playlist_plugin struct member of the embcue plugin was incorrect.
* decoder/ffmpeg: detect and fix negative time stampsMax Kellermann2014-12-151-0/+2
| | | | | Works around assertion failure due to something that appears to be a (minor) FFmpeg bug.
* configure.ac: prepare for 0.18.21Max Kellermann2014-12-151-0/+2
|
* release v0.18.20Max Kellermann2014-12-081-1/+1
|
* decoder/ffmpeg: support FFmpeg 2.5Max Kellermann2014-12-081-0/+2
| | | | | | Version 2.5 fixed an API oddity, however it broke API compatibility, at least with C++. Disable the workaround when a libavformat version is detected that is recent enough.
* thread/Id: drop "::" prefix before pthread function namesMax Kellermann2014-12-081-0/+1
| | | | | | The "::" to explicitly refer to the global namespace appeared like a good idea in C++, but it breaks with C libraries that implement standard functions using macros (e.g. musl).
* configure.ac: prepare for 0.18.20Max Kellermann2014-12-081-0/+2
|
* release v0.18.19Max Kellermann2014-11-261-1/+1
|
* archive/zzip: fix inverted error handlerMax Kellermann2014-11-241-0/+2
| | | | | Set the Error when zzip_seek()==-1 and not on success. Fixes a crash after seeking.
* configure.ac: prepare for 0.18.19Max Kellermann2014-11-241-0/+2
|
* release v0.18.18Max Kellermann2014-11-181-1/+1
|
* Client: assume uid==0 is local socketMax Kellermann2014-11-181-0/+1
| | | | | A negative uid value means it's not a "local socket" (PF_LOCAL). uid==0 means user "root" connected.
* Construct a Null AllocatedPath if the filename conversion into UTF8 failedFlorent Le Coz2014-11-111-0/+1
|
* decoder/ffmpeg: support opusMax Kellermann2014-11-101-0/+2
|
* configure.ac: prepare for 0.18.1Max Kellermann2014-11-101-0/+2
|
* release v0.18.17Max Kellermann2014-11-021-1/+1
|
* Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann2014-11-021-0/+1
| | | | Use the new uri_get_suffix() overload that removes the query string.
* PlaylistFile: don't allow empty playlist nameMax Kellermann2014-11-021-0/+1
|
* playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2014-11-021-0/+2
|
* decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-11-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Many years ago, FAAD had a serious ABI bug: the NeAACDecInit() prototype in its header declared the "samplerate" parameter to be "unsigned long *", but internally, the function assumed it was "uint32_t *" instead. On 32 bit machines, that was no difference, but on 64 bit, this left one portion of the return value uninitialized; and worse, on big-endian, the wrong word was filled. This bug had to be worked around in MPD (commit 9c4e97a6). A few months later, the bug was fixed in the FAAD CVS in commit 1.117 on file libfaad/decoder.c; the commit message was: "Use public headers internally to prevent duplicate declarations" The commit message was too brief at best; the problem was not duplicate declarations, but a prototype mismatch. No mention of the bug fix in the ChangeLog. The MPD project never learned about this bug fix, and so MPD would always pass a "uin32_t *" dressed up as a "unsigned long *". Nearly 6 years later, it's about time to fix this second ABI problem. Let's kill the workaround!
* decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien2014-11-021-0/+2
|
* configure.ac: prepare for 0.18.17Max Kellermann2014-11-021-0/+2
|
* release v0.18.16Max Kellermann2014-09-261-1/+1
|
* configure.ac: fix DSD breakage due to typoMax Kellermann2014-09-261-0/+1
|
* configure.ac: prepare for 0.18.16Max Kellermann2014-09-261-0/+2
|
* release v0.18.15Max Kellermann2014-09-261-1/+1
|
* OutputThread: retain negative mix ratioMax Kellermann2014-09-181-0/+1
| | | | Fixes MixRamp breakage.
* command/list: reset used size after the list has been processedAndrzej Rybczak2014-09-181-0/+2
|
* thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSDMax Kellermann2014-09-131-0/+1
| | | | | | | | | | On NetBSD, PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER are not compatible with C++11 "constexpr" (see Mantis ticket 0004110). As a workaround, don't ues "constexpr", and use the functions pthread_mutex_init(), pthread_mutex_destroy(), pthread_cond_init() and pthread_cond_destroy() instead. This adds some runtime overhead, but is portable to POSIX implementations that have awkward initializer macros.
* configure.ac: prepare for 0.18.15Max Kellermann2014-09-131-0/+2
|
* release v0.18.14Max Kellermann2014-09-111-1/+1
|
* decoder/ffmpeg: pass MIME type to ffmpeg/libav version 11Max Kellermann2014-09-071-0/+1
| | | | | | | That attribute was uninitialized before, which could crash libavformat. See Debian bug 760669
* DecoderThread: clear the pipe when handling late SEEKMax Kellermann2014-09-071-0/+1
| | | | | See code comment. Fixes assertion failure in decoder_command_finished().
* decoder/audiofile: fix crash after seekingMax Kellermann2014-09-061-0/+2
| | | | | | Log call was added to the wrong branch. Fixes regression by commit ca1a1149
* protocol/ArgParser: fix integer overflow in parse_range()Max Kellermann2014-09-041-0/+2
| | | | | | | | | | | | | Casting std::numeric_limits<unsigned>::max() to "long" leads to an overflow if sizeof(unsigned)==sizeof(long), and the result will be -1. This happens on some 32 bit architectures, for example ARM and WIN32. Workaround: use std::numeric_limits<int>::max(), which is the largest signed integer. Since sizeof(long)>=sizeof(int), this will never overflow. Fixes Mantis ticket 0004080.
* configure.ac: prepare for 0.18.14Max Kellermann2014-09-031-0/+2
|
* release v0.18.13Max Kellermann2014-08-311-1/+1
|
* PlaylistControl: use SeekSongOrder(current) to keep current songMax Kellermann2014-08-311-0/+2
| | | | | | The "current" attribute is a "song order", not a "song position". This is usually the same - except in random mode. Fixes Mantis ticket 0004073.
* output/alsa: fix endless loop at end of file in dsd_usb modeMax Kellermann2014-08-311-0/+2
|
* decoder/gme: fix song durationMax Kellermann2014-08-291-0/+1
| | | | The unit of gme_info_t::length is milliseconds, not centiseconds.