aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | decoder/audiofile: fix bit rate calculationMax Kellermann2014-11-102-1/+2
| | |
| * | test/FakeDecoderAPI: dump bit rateMax Kellermann2014-11-101-0/+6
| | |
| * | input/curl: ignore ResponseBoundary() while seekingMax Kellermann2014-11-102-0/+6
| | | | | | | | | | | | | | | | | | While seeking, metadata must not be updated. ResponseBoundary() was added in MPD 0.19.1, but I forgot to add the IsSeeking() check there. This caused the "seekable" flag to reset.
| * | tag/Set: do AlbumArtist/Artist fallback only if AlbumArtist is not disabledMax Kellermann2014-11-082-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On "list albumartist", songs that have no AlbumArtist tag will use the Artist tag. However, if AlbumArtist is disabled via "metadata_to_use", the TagBuilder::AddItem() call is ignored, and PrintUniqueTag() attempts to print a nullptr string. This commit fixes the problem by attempting the fallback only if AlbumArtist is not disabled.
| * | db/Count: include cleanupMax Kellermann2014-11-081-1/+1
| | |
* | | db/upnp/Directory: TitleToPathSegment() returns rvalue referenceMax Kellermann2014-11-091-2/+2
| | | | | | | | | | | | Eliminate one implicit std::string copy.
* | | db/upnp/Directory: apply coding styleMax Kellermann2014-11-091-23/+23
| | |
* | | db/upnp/Directory: move checkobjok() to class UPnPDirObjectMax Kellermann2014-11-082-11/+9
| | |
* | | db/upnp/Object: apply coding styleMax Kellermann2014-11-083-21/+28
| | |
* | | Merge branch 'v0.19.x'Max Kellermann2014-11-079-5/+68
|\| |
| * | decoder/ffmpeg: support opusMax Kellermann2014-11-072-1/+3
| | |
| * | db/upnp: fix valgrind warningMax Kellermann2014-11-071-0/+1
| | |
| * | lib/upnp/ContentDirectoryService: swap uri_apply_base() parametersMax Kellermann2014-11-072-1/+3
| | | | | | | | | | | | | | | | | | When uri_apply_base() was moved from db/upnp/Util.cpp to util/UriUtil.cpp, the parameter order was changed, however without swapping the parameters in the ContentDirectoryService constructor.
| * | input/AsyncInputStream: set Error when seeking unseekableMax Kellermann2014-11-072-1/+6
| | | | | | | | | | | | Fixes crash in the "audiofile" decoder while logging the seek error.
| * | input/Open: expose input_domainMax Kellermann2014-11-074-2/+53
| | |
| * | configure.ac: prepare for 0.19.3Max Kellermann2014-11-042-2/+4
| | |
* | | Merge tag 'v0.19.2'Max Kellermann2014-11-0224-116/+201
|\| |
| * | release v0.19.2Max Kellermann2014-11-021-1/+1
| | |
| * | Merge tag 'v0.18.17' into v0.19.xMax Kellermann2014-11-021-1/+1
| |\|
| | * release v0.18.17Max Kellermann2014-11-021-1/+1
| | |
| * | input/curl: forget Content-Length (and more) after redirectMax Kellermann2014-11-022-0/+28
| | | | | | | | | | | | Fixes playback of redirected streams.
| * | AsyncInputStream: add method ClearTag()Max Kellermann2014-11-021-0/+4
| | |
| * | InputStream: add method ClearMimeType()Max Kellermann2014-11-021-0/+4
| | |
| * | Merge branch 'v0.18.x' into v0.19.xMax Kellermann2014-11-022-1/+10
| |\|
| | * input/curl: fix curl_easy_setopt() parameter typesMax Kellermann2014-11-021-4/+4
| | |
| | * Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann2014-11-023-6/+9
| | | | | | | | | | | | Use the new uri_get_suffix() overload that removes the query string.
| | * util/UriUtil: add uri_get_suffix() overload that ignores query stringMax Kellermann2014-11-023-0/+47
| | |
| | * PlaylistFile: don't allow empty playlist nameMax Kellermann2014-11-022-0/+5
| | |
| | * playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2014-11-023-1/+5
| | |
| | * decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-11-023-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/aacpSteven OBrien2014-11-022-0/+3
| | |
| | * configure.ac: show DSD in resultMax Kellermann2014-11-021-0/+1
| | |
| | * output/roar: remove unnecessary "volatile" keywordMax Kellermann2014-11-021-1/+1
| | | | | | | | | | | | | | | A mutex acts as a memory barrier, and thus "volatile" is not necessary.
| | * TagString: use g_strndup() for unterminated stringMax Kellermann2014-11-021-1/+1
| | | | | | | | | | | | Fixes buffer overflow bug.
| | * configure.ac: prepare for 0.18.17Max Kellermann2014-11-022-2/+4
| | |
| * | lib/upnp/Discovery: add missing stdlib.h includeMax Kellermann2014-11-021-0/+1
| | |
| * | input/curl: fix curl_easy_setopt() parameter typesMax Kellermann2014-11-011-3/+3
| | |
| * | Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann2014-11-014-5/+11
| | | | | | | | | | | | Use the new uri_get_suffix() overload that removes the query string.
| * | util/UriUtil: add uri_get_suffix() overload that ignores query stringMax Kellermann2014-11-013-0/+47
| | |
| * | Main: run the OS X native event loop after forkingNanoTech2014-10-311-0/+27
| | |
| * | Revert "Main: run the OS X native event loop"NanoTech2014-10-314-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 nameMax Kellermann2014-10-312-0/+5
| | |
| * | decoder/mad: fix negative replay gain valuesMax Kellermann2014-10-282-1/+2
| | | | | | | | | | | | Negating an unsigned integer does not work.
| * | TextInputStream: don't ignore unterminated last lineMax Kellermann2014-10-282-4/+17
| | |
| * | playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2014-10-263-0/+4
| | |
| * | OutputThread: fall back to PCM if given DSD sample rate is not supportedMax Kellermann2014-10-252-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 bugMax Kellermann2014-10-254-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!
* | | AllCommands: "commands" returns playlist commands only if playlist_directory ↵Max Kellermann2014-10-254-0/+25
| | | | | | | | | | | | configured
* | | SongSticker, playlist/soundcloud: add missing stdlib.h includeMax Kellermann2014-10-252-0/+2
| | | | | | | | | | | | For free().
* | | SongSticker: don't use GLibMax Kellermann2014-10-252-6/+3
| | |