Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-12-26 | configure.ac: prepare for 0.18.22 | Max Kellermann | 1 | -0/+2 | |
2014-12-17 | release v0.18.21 | Max Kellermann | 1 | -1/+1 | |
2014-12-16 | playlist/embcue: fix filename suffix detection | k44 | 1 | -0/+2 | |
The definition of the playlist_plugin struct member of the embcue plugin was incorrect. | |||||
2014-12-15 | decoder/ffmpeg: detect and fix negative time stamps | Max Kellermann | 1 | -0/+2 | |
Works around assertion failure due to something that appears to be a (minor) FFmpeg bug. | |||||
2014-12-15 | configure.ac: prepare for 0.18.21 | Max Kellermann | 1 | -0/+2 | |
2014-12-08 | release v0.18.20 | Max Kellermann | 1 | -1/+1 | |
2014-12-08 | decoder/ffmpeg: support FFmpeg 2.5 | Max Kellermann | 1 | -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. | |||||
2014-12-08 | thread/Id: drop "::" prefix before pthread function names | Max Kellermann | 1 | -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). | |||||
2014-12-08 | configure.ac: prepare for 0.18.20 | Max Kellermann | 1 | -0/+2 | |
2014-11-26 | release v0.18.19 | Max Kellermann | 1 | -1/+1 | |
2014-11-24 | archive/zzip: fix inverted error handler | Max Kellermann | 1 | -0/+2 | |
Set the Error when zzip_seek()==-1 and not on success. Fixes a crash after seeking. | |||||
2014-11-24 | configure.ac: prepare for 0.18.19 | Max Kellermann | 1 | -0/+2 | |
2014-11-18 | release v0.18.18 | Max Kellermann | 1 | -1/+1 | |
2014-11-18 | Client: assume uid==0 is local socket | Max Kellermann | 1 | -0/+1 | |
A negative uid value means it's not a "local socket" (PF_LOCAL). uid==0 means user "root" connected. | |||||
2014-11-11 | Construct a Null AllocatedPath if the filename conversion into UTF8 failed | Florent Le Coz | 1 | -0/+1 | |
2014-11-10 | decoder/ffmpeg: support opus | Max Kellermann | 1 | -0/+2 | |
2014-11-10 | configure.ac: prepare for 0.18.1 | Max Kellermann | 1 | -0/+2 | |
2014-11-02 | release v0.18.17 | Max Kellermann | 1 | -1/+1 | |
2014-11-02 | Decoder, Playlist: ignore URI query string for plugin detection | Max Kellermann | 1 | -0/+1 | |
Use the new uri_get_suffix() overload that removes the query string. | |||||
2014-11-02 | PlaylistFile: don't allow empty playlist name | Max Kellermann | 1 | -0/+1 | |
2014-11-02 | playlist/m3u: recognize the file suffix ".m3u8" | Max Kellermann | 1 | -0/+2 | |
2014-11-02 | decoder/faad: remove workaround for ancient libfaad2 ABI bug | Max Kellermann | 1 | -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! | |||||
2014-11-02 | decoder/ffmpeg: recognize MIME type audio/aacp | Steven OBrien | 1 | -0/+2 | |
2014-11-02 | configure.ac: prepare for 0.18.17 | Max Kellermann | 1 | -0/+2 | |
2014-09-26 | release v0.18.16 | Max Kellermann | 1 | -1/+1 | |
2014-09-26 | configure.ac: fix DSD breakage due to typo | Max Kellermann | 1 | -0/+1 | |
2014-09-26 | configure.ac: prepare for 0.18.16 | Max Kellermann | 1 | -0/+2 | |
2014-09-26 | release v0.18.15 | Max Kellermann | 1 | -1/+1 | |
2014-09-18 | OutputThread: retain negative mix ratio | Max Kellermann | 1 | -0/+1 | |
Fixes MixRamp breakage. | |||||
2014-09-18 | command/list: reset used size after the list has been processed | Andrzej Rybczak | 1 | -0/+2 | |
2014-09-13 | thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSD | Max Kellermann | 1 | -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. | |||||
2014-09-13 | configure.ac: prepare for 0.18.15 | Max Kellermann | 1 | -0/+2 | |
2014-09-11 | release v0.18.14 | Max Kellermann | 1 | -1/+1 | |
2014-09-07 | decoder/ffmpeg: pass MIME type to ffmpeg/libav version 11 | Max Kellermann | 1 | -0/+1 | |
That attribute was uninitialized before, which could crash libavformat. See Debian bug 760669 | |||||
2014-09-07 | DecoderThread: clear the pipe when handling late SEEK | Max Kellermann | 1 | -0/+1 | |
See code comment. Fixes assertion failure in decoder_command_finished(). | |||||
2014-09-06 | decoder/audiofile: fix crash after seeking | Max Kellermann | 1 | -0/+2 | |
Log call was added to the wrong branch. Fixes regression by commit ca1a1149 | |||||
2014-09-04 | protocol/ArgParser: fix integer overflow in parse_range() | Max Kellermann | 1 | -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. | |||||
2014-09-03 | configure.ac: prepare for 0.18.14 | Max Kellermann | 1 | -0/+2 | |
2014-08-31 | release v0.18.13 | Max Kellermann | 1 | -1/+1 | |
2014-08-31 | PlaylistControl: use SeekSongOrder(current) to keep current song | Max Kellermann | 1 | -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. | |||||
2014-08-31 | output/alsa: fix endless loop at end of file in dsd_usb mode | Max Kellermann | 1 | -0/+2 | |
2014-08-29 | decoder/gme: fix song duration | Max Kellermann | 1 | -0/+1 | |
The unit of gme_info_t::length is milliseconds, not centiseconds. | |||||
2014-08-24 | event/TimeoutMonitor: reset "active" flag before invoking OnTimeout() | Max Kellermann | 1 | -0/+1 | |
The IsActive() method returned true even if the timer was not active, after it completed once. This broke the state file timer, and the state file was not saved periodically. | |||||
2014-08-23 | system/ByteOrder: <endian.h> is a non-standard header that only Linux provides. | Thomas Klausner | 1 | -0/+1 | |
2014-08-21 | decoer/dsdiff: fix endless loop on malformed file | Max Kellermann | 1 | -1/+1 | |
Same bug as in the previous commit. | |||||
2014-08-21 | decoer/dsf: fix endless loop on malformed file | Max Kellermann | 1 | -0/+1 | |
When the data chunk size is not a multiple of the frame size, the last partial frame lead to an endless loop. We fix this by checking chunk_sze>=frame instead of chunk_sze>0. This way, the partial frame is simply skipped. | |||||
2014-08-13 | decoder/ffmpeg: use avcodec_descriptor_get() to determine codec name | Max Kellermann | 1 | -0/+2 | |
In version 11, both ffmpeg and libav deprecate AVCodecContext::codec_name. The function avcodec_descriptor_get() has been introduced long ago. | |||||
2014-08-02 | configure.ac: prepare for 0.18.13 | Max Kellermann | 1 | -0/+2 | |
2014-07-30 | release v0.18.12 | Max Kellermann | 1 | -1/+1 | |
2014-07-12 | decoder/dsdiff: fix metadata parser bug (uninitialized variables) | Max Kellermann | 1 | -0/+1 | |