Max Kellermann
6f3c0d0a60
AudioFormat: include cleanup
2018-07-06 19:35:31 +02:00
Max Kellermann
466625f7ad
input/curl: use new class HttpStatusError
...
This way, IsFileNotFound() can detect status 404.
2018-07-06 19:26:11 +02:00
Max Kellermann
b8259e604a
db/update/{Walk,ExcludeList}: use InputStream to read .mpdignore
...
Supports .mpdignore on NFS/SMB and others (closes #290 ).
2018-07-06 19:19:04 +02:00
Max Kellermann
86e2075c63
lib/nfs/Connection: use new class NfsClientError
...
Allows callers to extract the NFS error code.
2018-07-06 19:17:34 +02:00
Max Kellermann
30900b2fe2
input/Error: new library providing IsFileNotFound()
2018-07-06 19:16:01 +02:00
Max Kellermann
fd7ae7ea4c
input/Domain: remove obsolete variable
2018-07-06 19:13:53 +02:00
Max Kellermann
60d5bf0240
util/StringFormat: new utility library
2018-07-06 19:07:02 +02:00
Max Kellermann
41cdc4e14b
input/Offset: add macro PRIoffset
2018-07-06 19:06:05 +02:00
Max Kellermann
87dfca0477
input/curl: remove obsolete Windows sprintf() fallback
...
See commit be137a191e
2018-07-06 19:05:09 +02:00
Max Kellermann
e1ee8e7812
util/FormatString: remove obsolete Windows fallback
...
Since 7d353bbe2a
, _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 19:04:33 +02:00
Max Kellermann
63406efcd8
db/update/ExcludeList: allow comments only at start of line
2018-07-06 18:27:17 +02:00
Max Kellermann
d5c132fca0
db/update/ExcludeList: move code to ParseLine()
2018-07-06 18:25:27 +02:00
Max Kellermann
5f082a2739
output/httpd: remove broken DLNA support code
...
This code was added in 21851c0673
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-07-06 17:28:01 +02:00
Max Kellermann
7d6a762845
python/build/libs.py: upgrade FFmpeg to 4.0.1
2018-06-22 22:35:27 +02:00
Max Kellermann
8dcb1f805d
db/proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort"
...
Closes #284
2018-05-28 20:14:07 +02:00
Max Kellermann
a8b9e5b9b9
db/proxy: add "password" setting
...
Closes #283
2018-05-28 20:01:08 +02:00
Max Kellermann
04f928e2b0
doc/user.xml: remove copy&paste fallout
2018-05-28 20:01:08 +02:00
Max Kellermann
c7a803c922
increment version number to 0.20.21
2018-05-28 19:46:54 +02:00
Max Kellermann
ab197b6d43
release v0.20.20
2018-05-22 12:40:18 +02:00
Max Kellermann
16b0e53a36
android/AndroidManifest.xml: increment version number to 0.20.20
2018-05-22 12:40:11 +02:00
Max Kellermann
bc14a6038e
Makefile.am: invoke javac with source/target 1.6
...
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 12:37:01 +02:00
Max Kellermann
626329a1cc
python/build/meson.py: create build_path if it does not exist
2018-05-22 12:31:37 +02:00
Max Kellermann
8bf250c228
python/build/libs: upgrade CURL to 7.60.0
2018-05-22 11:17:19 +02:00
Max Kellermann
62127bbb12
python/build/libs.py: add libmpdclient
2018-05-12 16:24:24 +02:00
Max Kellermann
786ac87b76
python/build: add support for Meson/ninja based projects
2018-05-12 15:00:17 +02:00
Max Kellermann
c76f4ac89b
player/Thread: pause all outputs in single mode
...
This mostly affects the Pulse output plugin which needs to "cork" the
stream (closes #278 ).
2018-05-12 14:44:07 +02:00
Michal Koutenský
d495ec71a8
decoder/opus: add support for R128_ALBUM_GAIN tag
2018-05-07 10:57:03 +02:00
Max Kellermann
b763852f57
decoder/dsd: allow 4 MB ID3 tags
...
Closes #277
2018-05-07 10:53:48 +02:00
Max Kellermann
6522d2f722
decoder/{dsdiff,dsf}: support more MIME types
...
These are used by DSD-streaming servers. For example, MiniDLNA uses
"audio/x-dsd".
2018-05-03 12:02:11 +02:00
Max Kellermann
ac61fd1d78
{input,output}/alsa: work around -Wswitch due to SND_PCM_STATE_PRIVATE1
2018-05-03 11:59:18 +02:00
Max Kellermann
c44d1566fa
SongFilter: fix "modified-since" filter
...
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 386688b87a
2018-04-30 20:34:25 +02:00
Max Kellermann
80dc7c2f74
increment version number to 0.20.20
2018-04-30 20:32:36 +02:00
Max Kellermann
7b94f0e36b
release v0.20.19
2018-04-26 19:57:04 +02:00
Max Kellermann
504e8d564a
android/AndroidManifest.xml: increment version number to 0.20.19
2018-04-26 19:56:39 +02:00
Max Kellermann
ac395429c3
db/proxy: implement the group_mask parameter in VisitUniqueTags()
...
Closes #258
2018-04-26 19:43:33 +02:00
Max Kellermann
388768b3a6
db/proxy: call mpd_search_cancel() after search error
...
Fixes "search already in progress" errors.
2018-04-26 19:41:19 +02:00
Max Kellermann
5c4169e64e
python/build/libs.py: upgrade FFmpeg to 4.0
2018-04-26 19:16:16 +02:00
Max Kellermann
d40e9de2d2
python/build/libs.py: upgrade libvorbis to 1.3.6
2018-04-26 19:14:26 +02:00
Max Kellermann
1e54297be8
lib/ffmpeg/Init: fix av_register_all() deprecation warning
...
av_register_all() was deprecated in
FFmpeg/FFmpeg@0694d87024
2018-04-25 21:35:33 +02:00
Max Kellermann
44b200240f
player/Thread: never reuse decoder when switching radio streams
...
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-04-25 21:19:26 +02:00
Max Kellermann
a2340c313f
pcm/PcmDop: round down to the nearest multiple of 4 DSD bytes
...
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
a06bf388d9
Closes #233
2018-03-15 20:02:00 +01:00
Max Kellermann
37b07a5e7c
pcm/PcmDop: use size_t
2018-03-15 20:00:14 +01:00
Max Kellermann
73013a3c04
input/thread: move code to Stop()
...
Fixes crash due to "pure virtual method called" in the "mms" input
plugin. Closes #253
2018-03-15 19:29:55 +01:00
Max Kellermann
e8099f01b5
python/build/libs: upgrade CURL to 7.59.0
2018-03-15 11:24:50 +01:00
Max Kellermann
672bdd3a56
doc/user.xml: clarify where mpd.conf is read from on Android
...
Closes #247
2018-03-15 11:22:38 +01:00
Max Kellermann
c2c2c29658
input/thread: set InputStream::ready after Open() failure
...
Without setting the "ready" flag, the caller will wait in WaitReady()
forever, locking up MPD. Closes #252
2018-03-14 13:15:03 +01:00
Michal Smucr
c745e14f47
Bump minimum required version of Boost to 1.54.
...
lockfree library used by ALSA output plugin is part of Boost from version 1.53,
so this can be theoretically the lowest required version, however
there are issues which are resolved from 1.54 onwards.
2018-03-09 09:23:48 +01:00
Max Kellermann
e8f08cda53
AUTHORS: add various recent contributors
2018-03-05 19:23:36 +01:00
Max Kellermann
8266ab5588
android/build.py: support the x86 ABI
...
First commit for issue #69
2018-03-04 20:46:46 +01:00
Max Kellermann
ea552208fc
android/build.py: add ABI parameter
2018-03-04 20:43:59 +01:00