Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | InputStream: add method ClearMimeType() | Max Kellermann | 2014-11-02 | 1 | -0/+4 |
| | |||||
* | Merge branch 'v0.18.x' into v0.19.x | Max Kellermann | 2014-11-02 | 2 | -1/+10 |
|\ | |||||
| * | input/curl: fix curl_easy_setopt() parameter types | Max Kellermann | 2014-11-02 | 1 | -4/+4 |
| | | |||||
| * | Decoder, Playlist: ignore URI query string for plugin detection | Max Kellermann | 2014-11-02 | 3 | -6/+9 |
| | | | | | | | | Use the new uri_get_suffix() overload that removes the query string. | ||||
| * | util/UriUtil: add uri_get_suffix() overload that ignores query string | Max Kellermann | 2014-11-02 | 3 | -0/+47 |
| | | |||||
| * | PlaylistFile: don't allow empty playlist name | Max Kellermann | 2014-11-02 | 2 | -0/+5 |
| | | |||||
| * | playlist/m3u: recognize the file suffix ".m3u8" | Max Kellermann | 2014-11-02 | 3 | -1/+5 |
| | | |||||
| * | decoder/faad: remove workaround for ancient libfaad2 ABI bug | Max Kellermann | 2014-11-02 | 3 | -40/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/aacp | Steven OBrien | 2014-11-02 | 2 | -0/+3 |
| | | |||||
| * | configure.ac: show DSD in result | Max Kellermann | 2014-11-02 | 1 | -0/+1 |
| | | |||||
| * | output/roar: remove unnecessary "volatile" keyword | Max Kellermann | 2014-11-02 | 1 | -1/+1 |
| | | | | | | | | | | A mutex acts as a memory barrier, and thus "volatile" is not necessary. | ||||
| * | TagString: use g_strndup() for unterminated string | Max Kellermann | 2014-11-02 | 1 | -1/+1 |
| | | | | | | | | Fixes buffer overflow bug. | ||||
| * | configure.ac: prepare for 0.18.17 | Max Kellermann | 2014-11-02 | 2 | -2/+4 |
| | | |||||
* | | lib/upnp/Discovery: add missing stdlib.h include | Max Kellermann | 2014-11-02 | 1 | -0/+1 |
| | | |||||
* | | input/curl: fix curl_easy_setopt() parameter types | Max Kellermann | 2014-11-01 | 1 | -3/+3 |
| | | |||||
* | | Decoder, Playlist: ignore URI query string for plugin detection | Max Kellermann | 2014-11-01 | 4 | -5/+11 |
| | | | | | | | | Use the new uri_get_suffix() overload that removes the query string. | ||||
* | | util/UriUtil: add uri_get_suffix() overload that ignores query string | Max Kellermann | 2014-11-01 | 3 | -0/+47 |
| | | |||||
* | | Main: run the OS X native event loop after forking | NanoTech | 2014-10-31 | 1 | -0/+27 |
| | | |||||
* | | Revert "Main: run the OS X native event loop" | NanoTech | 2014-10-31 | 4 | -51/+0 |
| | | | | | | | | | | | | | | | | This reverts commit f0be48ff90503d9ffa5b295fd4454eec753950ee (except for the NEWS entry). If libdispatch (GCD) is used before forking, it can't safely be used again after forking. | ||||
* | | PlaylistFile: don't allow empty playlist name | Max Kellermann | 2014-10-31 | 2 | -0/+5 |
| | | |||||
* | | decoder/mad: fix negative replay gain values | Max Kellermann | 2014-10-28 | 2 | -1/+2 |
| | | | | | | | | Negating an unsigned integer does not work. | ||||
* | | TextInputStream: don't ignore unterminated last line | Max Kellermann | 2014-10-28 | 2 | -4/+17 |
| | | |||||
* | | playlist/m3u: recognize the file suffix ".m3u8" | Max Kellermann | 2014-10-26 | 3 | -0/+4 |
| | | |||||
* | | OutputThread: fall back to PCM if given DSD sample rate is not supported | Max Kellermann | 2014-10-25 | 2 | -0/+31 |
| | | | | | | | | | | Works around the "PCM conversion from f to dsd is not implemented" error message that prevents DSD playback. | ||||
* | | decoder/faad: remove workaround for ancient libfaad2 ABI bug | Max Kellermann | 2014-10-25 | 4 | -50/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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! | ||||
* | | configure.ac: update VERSION_REVISION | Max Kellermann | 2014-10-25 | 1 | -1/+1 |
| | | |||||
* | | decoder/ffmpeg: recognize MIME type audio/aacp | Steven OBrien | 2014-10-25 | 2 | -0/+3 |
| | | |||||
* | | configure.ac: add storage plugin section to result | Max Kellermann | 2014-10-25 | 1 | -0/+4 |
| | | |||||
* | | configure.ac: show DSD in result | Max Kellermann | 2014-10-25 | 1 | -0/+1 |
| | | |||||
* | | configure.ac: require xmlto for --enable-documentation | Max Kellermann | 2014-10-25 | 2 | -11/+4 |
| | | |||||
* | | test/test_archive: don't use GLib | Max Kellermann | 2014-10-25 | 1 | -8/+6 |
| | | |||||
* | | fs/Charset: work around clang's -Wunused-const-variable | Max Kellermann | 2014-10-25 | 1 | -1/+2 |
| | | | | | | | | MPD_PATH_MAX_UTF8 is only used by GLib-specific code currently. | ||||
* | | configure.ac: auto-disable plugins that require GLib when --disable-glib is used | Max Kellermann | 2014-10-24 | 2 | -0/+21 |
| | | |||||
* | | configure.ac: improve database dependency checks | Max Kellermann | 2014-10-24 | 2 | -2/+15 |
| | | | | | | | | | | Abort if --enable-libmpdclient or --enable-upnp are used with --disable-database, instead of ignoring the mismatch silently. | ||||
* | | test/DumpDatabase, ...: no g_thread_init() calls when GLib is disabled | Max Kellermann | 2014-10-24 | 3 | -0/+12 |
| | | |||||
* | | OutputThread: close the output plugin after filter failure | Max Kellermann | 2014-10-24 | 2 | -0/+3 |
| | | | | | | | | Fixes memory leak because ao_plugin_close() never gets called. | ||||
* | | OutputThread: unlock mutex for CloseFilter() | Max Kellermann | 2014-10-24 | 2 | -0/+14 |
| | | | | | | | | Be consistent. | ||||
* | | output/roar: remove unnecessary "volatile" keyword | Max Kellermann | 2014-10-23 | 1 | -1/+1 |
| | | | | | | | | | | A mutex acts as a memory barrier, and thus "volatile" is not necessary. | ||||
* | | pcm/ChannelsConverter: fix variable used to generate error message | Max Kellermann | 2014-10-23 | 1 | -1/+1 |
| | | | | | | | | | | Use the "_format" parameter instead of the (uninitialized) "format" attribute. | ||||
* | | pcm/FormatConverter: move check to Open() | Max Kellermann | 2014-10-23 | 1 | -10/+24 |
| | | | | | | | | | | Report unsupported format while opening the filter, not later when the first conversion takes place. | ||||
* | | pcm/PcmConvert: assign {src,dest}_format at the end | Max Kellermann | 2014-10-23 | 2 | -12/+14 |
| | | | | | | | | | | Fixes assertion failure in destructor by not assigning {src,dest}_format when an error occurs. | ||||
* | | pcm/PcmConvert: make AudioFormat parameters "const" | Max Kellermann | 2014-10-23 | 1 | -1/+1 |
| | | |||||
* | | configure.ac: prepare for 0.19.2 | Max Kellermann | 2014-10-23 | 2 | -1/+3 |
| | | |||||
* | | release v0.19.1 | Max Kellermann | 2014-10-19 | 2 | -3/+3 |
| | | |||||
* | | TextInputStream: manually shift the buffer before reading | Max Kellermann | 2014-10-19 | 2 | -0/+3 |
| | | | | | | | | | | Fixes truncated lines in m3u and cue files (regression by commit 67958f7). | ||||
* | | util/StaticFifoBuffer: make Shift() public | Max Kellermann | 2014-10-19 | 1 | -2/+0 |
| | | |||||
* | | playlist/extm3u: strip first line for #EXTM3U detection | Max Kellermann | 2014-10-17 | 2 | -2/+8 |
| | | |||||
* | | Makefile.am: distribute systemd/mpd.socket | Max Kellermann | 2014-10-12 | 2 | -0/+2 |
| | | | | | | | | | | The file systemd/mpd.service.in is being distributed implicitly, but systemd/mpd.socket is not and needs to be added to EXTRA_DIST. | ||||
* | | ThreadInputStream: call ThreadRead() inside the thread instead of Read() | Max Kellermann | 2014-10-11 | 2 | -1/+3 |
| | | | | | | | | Fixes deadlock bug in the "mms" plugin. | ||||
* | | ThreadInputStream: add assertions | Max Kellermann | 2014-10-11 | 1 | -0/+8 |
| | |