Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-08-02 | case-insensitive URI scheme comparison | Max Kellermann | |
Required according to RFC 3986: > An implementation should accept uppercase letters as equivalent to > lowercase in scheme names Closes #330 | |||
2018-08-02 | util/ASCII: add StringStartsWithCaseASCII() | Max Kellermann | |
2018-08-02 | configure.ac: default to --disable-daemon on Windows | Max Kellermann | |
This typo was present since the option was added in commit ed001e0cfb4 | |||
2018-07-29 | python/build/libs.py: upgrade FFmpeg to 4.0.2 | Max Kellermann | |
2018-07-29 | configure.ac: Do not link libsidplayfp against libresid-builder | skidoo23 | |
2018-07-29 | configure.ac: clarify sidplay related info | skidoo23 | |
2018-07-16 | python/build/libs: upgrade libnfs to 3.0.0 | Max Kellermann | |
2018-07-16 | python/build/libs: upgrade CURL to 7.61.0 | Max Kellermann | |
2018-07-06 | AudioFormat: include cleanup | Max Kellermann | |
2018-07-06 | input/curl: use new class HttpStatusError | Max Kellermann | |
This way, IsFileNotFound() can detect status 404. | |||
2018-07-06 | db/update/{Walk,ExcludeList}: use InputStream to read .mpdignore | Max Kellermann | |
Supports .mpdignore on NFS/SMB and others (closes #290). | |||
2018-07-06 | lib/nfs/Connection: use new class NfsClientError | Max Kellermann | |
Allows callers to extract the NFS error code. | |||
2018-07-06 | input/Error: new library providing IsFileNotFound() | Max Kellermann | |
2018-07-06 | input/Domain: remove obsolete variable | Max Kellermann | |
2018-07-06 | util/StringFormat: new utility library | Max Kellermann | |
2018-07-06 | input/Offset: add macro PRIoffset | Max Kellermann | |
2018-07-06 | input/curl: remove obsolete Windows sprintf() fallback | Max Kellermann | |
See commit be137a191e5bb12f44e5c51205b2e5f86ef7117c | |||
2018-07-06 | util/FormatString: remove obsolete Windows fallback | Max Kellermann | |
Since 7d353bbe2a70cd7894b1f5954a37e4a07890478d, _GNU_SOURCE is always defined, which implies __USE_MINGW_ANSI_STDIO and thus switches to the mingw implementations of the printf() family. That's standards-compliant, unlike Microsoft's CRT implementations. | |||
2018-07-06 | db/update/ExcludeList: allow comments only at start of line | Max Kellermann | |
2018-07-06 | db/update/ExcludeList: move code to ParseLine() | Max Kellermann | |
2018-07-06 | output/httpd: remove broken DLNA support code | Max Kellermann | |
This code was added in 21851c06733080b4c131d553d5d1f8784c12410f but looks completely broken: - the status code is "206 OK" but "206" would be "Partial Content" - the "Content-Length" header has a bogus value - the "Content-RangeX" parameter has different bogus values (why "Content-RangeX" anyway and not "Content-Range"?) Apart from that, there are strange undocumented non-standard headers which are probably there to work around bugs/expectations in one broken proprietary client product. But these days, MPD doesn't bend over to support broken clients. So let's kill this code. Closes #304 | |||
2018-06-22 | python/build/libs.py: upgrade FFmpeg to 4.0.1 | Max Kellermann | |
2018-05-28 | db/proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort" | Max Kellermann | |
Closes #284 | |||
2018-05-28 | db/proxy: add "password" setting | Max Kellermann | |
Closes #283 | |||
2018-05-28 | doc/user.xml: remove copy&paste fallout | Max Kellermann | |
2018-05-28 | increment version number to 0.20.21 | Max Kellermann | |
2018-05-22 | release v0.20.20v0.20.20 | Max Kellermann | |
2018-05-22 | android/AndroidManifest.xml: increment version number to 0.20.20 | Max Kellermann | |
2018-05-22 | Makefile.am: invoke javac with source/target 1.6 | Max Kellermann | |
Fixes: ``` error: Source option 5 is no longer supported. Use 6 or later. error: Target option 1.5 is no longer supported. Use 1.6 or later. ``` | |||
2018-05-22 | python/build/meson.py: create build_path if it does not exist | Max Kellermann | |
2018-05-22 | python/build/libs: upgrade CURL to 7.60.0 | Max Kellermann | |
2018-05-12 | python/build/libs.py: add libmpdclient | Max Kellermann | |
2018-05-12 | python/build: add support for Meson/ninja based projects | Max Kellermann | |
2018-05-12 | player/Thread: pause all outputs in single mode | Max Kellermann | |
This mostly affects the Pulse output plugin which needs to "cork" the stream (closes #278). | |||
2018-05-07 | decoder/opus: add support for R128_ALBUM_GAIN tag | Michal Koutenský | |
2018-05-07 | decoder/dsd: allow 4 MB ID3 tags | Max Kellermann | |
Closes #277 | |||
2018-05-03 | decoder/{dsdiff,dsf}: support more MIME types | Max Kellermann | |
These are used by DSD-streaming servers. For example, MiniDLNA uses "audio/x-dsd". | |||
2018-05-03 | {input,output}/alsa: work around -Wswitch due to SND_PCM_STATE_PRIVATE1 | Max Kellermann | |
2018-04-30 | SongFilter: fix "modified-since" filter | Max Kellermann | |
Error message sent to client was "basic_string::_M_construct null not valid" due to passing nullptr to the std::string constructor. Regression caused by commit 386688b87ac | |||
2018-04-30 | increment version number to 0.20.20 | Max Kellermann | |
2018-04-26 | release v0.20.19v0.20.19 | Max Kellermann | |
2018-04-26 | android/AndroidManifest.xml: increment version number to 0.20.19 | Max Kellermann | |
2018-04-26 | db/proxy: implement the group_mask parameter in VisitUniqueTags() | Max Kellermann | |
Closes #258 | |||
2018-04-26 | db/proxy: call mpd_search_cancel() after search error | Max Kellermann | |
Fixes "search already in progress" errors. | |||
2018-04-26 | python/build/libs.py: upgrade FFmpeg to 4.0 | Max Kellermann | |
2018-04-26 | python/build/libs.py: upgrade libvorbis to 1.3.6 | Max Kellermann | |
2018-04-25 | lib/ffmpeg/Init: fix av_register_all() deprecation warning | Max Kellermann | |
av_register_all() was deprecated in FFmpeg/FFmpeg@0694d8702421e7aff1340038559c438b61bb30dd | |||
2018-04-25 | player/Thread: never reuse decoder when switching radio streams | Max Kellermann | |
When switching to another song manually, the player checks if the decoder is already decoding that song; if so, it will attempt to reuse it by seeking it to the new position. That however fails if the decoder is not seekable (e.g. a radio stream) which leaves the user unable to switch to that song with the bogus error message "Not seekable". | |||
2018-03-15 | pcm/PcmDop: round down to the nearest multiple of 4 DSD bytes | Max Kellermann | |
There was a discrepancy between what was written to the buffer and the size returned by pcm_dsd_to_dop(): the "for" loop uses num_frames/2, rounding down, while the return value is num_samples which is num_frames*channels, without rounding. This could cause undefined data at the end of the destination buffer if the source buffer size was not aligned to multiples of 8 bytes (4 DSD bytes per channel). The latter however can occur in the 0.21 branch after commit a06bf388d96 Closes #233 | |||
2018-03-15 | pcm/PcmDop: use size_t | Max Kellermann | |