Max Kellermann
|
65bbb0e0aa
|
release v0.20.17
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlqAMO0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEg8eD/49NlFvlNdkamgYvh7MI1Sn67yKAwQt+N51
W0hVnmXwPoSg76gfWw8J9kVyQy/jEkaCxsPF/UuEbH5jzqAC0y8hwYVRkJaRc9wN
ZfwHvLHeaUxQweoguEwRSREy4ZC4ImQOK+eAxI1R43mqxxyhko1Akc1NmRVWzYfv
/FGmAjTi1U6FR/yDpdSFn1NdlPmIgZ4WDuRsDT2NrshX/Bb32FiyZBytvek2P8n/
QNgXv18E4yWXSb+zBYhPy/eaKhGasyjI3cbht1F0hNW9Yo/BsFxDuwXrX1vNBaOS
E3Dux4s/nfcJ4RMRjmrkFwXImCvxt7+AGfh8RYBXuwqMExXz2kZjIs4ZVvO7Nu9A
pFDJQwRIojXMfk73LU/MEpmNNEXhvfQLYkrM7poSqYaOr8SWMszqSgNnnfq6+flB
sJbstgAStI6lL0jy0HrtMTvPVEiAGh6wCvMy/r2G9XUAyw76ccOg7MaIldn0MHJv
A51+GfRTi4ILH0ReL1BGAg9nG97uFmRAWGkfkhtyD540xGRk7x5R8/ml4zFogHN6
SbrV0NPdwk+uFd0y2znQT2gWyjc0id4WEKEoHX+Gl6c5qtPIfrq+PQPyk9kR+u+i
AxwqMoKQer6Ji5qnsvCiKSkaGGiVNivrZ11jDWNCZaKjmvlKlvj/P5GxbPpORorq
v4ru/4vNXQ==
=v4t8
-----END PGP SIGNATURE-----
Merge tag 'v0.20.17'
release v0.20.17
|
2018-02-11 13:22:43 +01:00 |
|
Max Kellermann
|
6ba918b203
|
input/file: don't use posix_fadvise() on Android
Requires Android API 21, but we want to support older versions as
well.
|
2018-02-09 22:54:22 +01:00 |
|
Max Kellermann
|
005bb59797
|
test/run_input: move code from Scan() to input/ScanTags.cxx
|
2018-01-29 16:57:44 +01:00 |
|
Max Kellermann
|
88bc3a9271
|
input/qobuz: implement InputPlugin::scan_tags()
|
2018-01-26 20:08:01 +01:00 |
|
Max Kellermann
|
2e32cf7b87
|
input/tidal: implement InputPlugin::scan_tags()
|
2018-01-26 20:08:01 +01:00 |
|
Max Kellermann
|
3e9c3c8ae8
|
input/Plugin: add method scan() with asynchronous callback class
To be used when a URL gets added.
|
2018-01-26 19:29:38 +01:00 |
|
Max Kellermann
|
ec31e8df1d
|
input/qobuz: remove obsolete prototypes
|
2018-01-26 19:29:38 +01:00 |
|
Max Kellermann
|
b56bfbae26
|
input/tidal: add setting "audioquality"
|
2018-01-26 19:18:13 +01:00 |
|
Max Kellermann
|
f55b1415d4
|
input/qobuz: move code to ExtractQobuzTrackId()
|
2018-01-26 18:48:15 +01:00 |
|
Max Kellermann
|
67693c6ad0
|
input/qobuz: add setting "format_id"
|
2018-01-26 17:30:28 +01:00 |
|
Max Kellermann
|
fce061b544
|
input/tidal: move code to ExtractTidalTrackId()
|
2018-01-26 17:29:58 +01:00 |
|
Max Kellermann
|
93765fcb30
|
input/{tidal,qobuz}: remove unused list_base_hook
|
2018-01-26 16:56:56 +01:00 |
|
Max Kellermann
|
b221bd7472
|
input/qobuz: remove bogus "noexcept"
This change was missing in 47fa8c4cf6
|
2018-01-25 15:19:33 +01:00 |
|
Max Kellermann
|
47fa8c4cf6
|
input/{tidal,qobus}: add bogus "noexcept"
The CurlRequest constructor can throw exceptions, therefore we must
not use "noexcept".
|
2018-01-25 12:58:58 +01:00 |
|
Max Kellermann
|
7640609b41
|
input/tidal: retry if session is expired
|
2018-01-24 15:35:02 +01:00 |
|
Max Kellermann
|
e8e6357b73
|
input/tidal/Error: add method IsInvalidSession()
|
2018-01-24 15:34:59 +01:00 |
|
Max Kellermann
|
4398101706
|
input/tidal: parse subStatus in error responses
|
2018-01-24 15:34:57 +01:00 |
|
Max Kellermann
|
2e1481f49d
|
input/tidal: add exception class TidalError
Allows catchers to inspect the HTTP status.
|
2018-01-24 15:34:54 +01:00 |
|
Max Kellermann
|
c7c087a0d2
|
input/tidal: add some debug logging
|
2018-01-24 15:29:30 +01:00 |
|
Max Kellermann
|
97f670658f
|
util/StringFormat: new utility library
|
2018-01-24 13:28:28 +01:00 |
|
Max Kellermann
|
4324fb2fbe
|
input/Offset: add macro PRIoffset
|
2018-01-24 13:26:43 +01:00 |
|
Max Kellermann
|
e4cb74cf7b
|
input/curl: remove obsolete Windows sprintf() fallback
See commit be137a191e
|
2018-01-24 13:26:18 +01:00 |
|
Max Kellermann
|
4a330a4c33
|
input/qobuz: use class DelegateCurlResponseHandler to eliminate duplicate code
|
2018-01-24 11:33:01 +01:00 |
|
Max Kellermann
|
75e60669a7
|
input/tidal: include cleanup
|
2018-01-24 11:33:01 +01:00 |
|
Max Kellermann
|
1da64fb79c
|
lib/curl/Delegate: helper class for response body parsers
Eliminate duplicate code.
|
2018-01-23 16:48:43 +01:00 |
|
Max Kellermann
|
d084950b1a
|
input/qobuz: dispose the TidalLoginRequest earlier
|
2018-01-21 20:17:50 +01:00 |
|
Max Kellermann
|
2ce10f2fed
|
input/qobuz: dispose the QobuzTrackRequest
|
2018-01-21 19:59:17 +01:00 |
|
Max Kellermann
|
036094799b
|
input/qobuz: pass std::string by value to OnQobuzTrackSuccess()
|
2018-01-21 19:58:21 +01:00 |
|
Max Kellermann
|
2da6ab2a45
|
input/qobuz: dispose the QobuzLoginRequest earlier
|
2018-01-21 19:45:03 +01:00 |
|
Max Kellermann
|
91a512606b
|
input/qobuz: remove unused variable
|
2018-01-21 15:01:31 +01:00 |
|
Max Kellermann
|
542bbb0889
|
input/qobuz: parse and report message from error responses
|
2018-01-21 12:52:54 +01:00 |
|
Max Kellermann
|
714e69e708
|
input/qobuz: create JSON parser on demand
|
2018-01-21 12:49:10 +01:00 |
|
Max Kellermann
|
cb87ed29d8
|
input/tidal: invoke login handlers on second request
Fixes a freeze bug.
|
2018-01-21 12:41:19 +01:00 |
|
Max Kellermann
|
570c6765b0
|
input/tidal: parse and report userMessage from error responses
|
2018-01-21 12:30:46 +01:00 |
|
Max Kellermann
|
12a2285ba5
|
input/tidal: create JSON parser on demand
|
2018-01-21 12:29:52 +01:00 |
|
Max Kellermann
|
4ca1089f60
|
input/TextInputStream: ReadLine() throws exception on error
|
2018-01-20 20:13:08 +01:00 |
|
Max Kellermann
|
720df085e5
|
input/TextInputStream: add "noexcept"
|
2018-01-20 19:35:09 +01:00 |
|
Max Kellermann
|
f90f17227b
|
input/Domain: remove obsolete variable
|
2018-01-20 19:19:29 +01:00 |
|
Max Kellermann
|
36f7eaadef
|
input/LocalOpen: make assert() more strict
|
2018-01-20 19:15:51 +01:00 |
|
Max Kellermann
|
1eb9300658
|
input/LocalOpen: include cleanup
|
2018-01-20 19:14:42 +01:00 |
|
Max Kellermann
|
27e4656515
|
input/{file,archive}: remove the dummy InputPlugin instances
These have no use, exception for creating an artificial dependency
from input_plugins[] to all archive plugins.
|
2018-01-20 19:07:34 +01:00 |
|
Max Kellermann
|
e0a09dbd69
|
input/thread: add "noexcept"
|
2018-01-20 18:54:29 +01:00 |
|
Max Kellermann
|
30832ab33a
|
input/InputStream: add "noexcept" to constructor
|
2018-01-20 18:53:37 +01:00 |
|
Max Kellermann
|
d20b545a94
|
input/InputStream: remove methods Lock() and Unlock()
These methods are not exception-safe; std::lock_guard should better be
used.
|
2018-01-20 18:51:23 +01:00 |
|
Max Kellermann
|
20d01be1ad
|
input/mms: use class ScopeUnlock
|
2018-01-20 18:51:00 +01:00 |
|
Max Kellermann
|
d6b62d7512
|
input/tidal: delete request objects upon completion
|
2018-01-20 00:34:44 +01:00 |
|
Max Kellermann
|
ab9d9541a8
|
input/tidal: pass std::string by value
Don't keep any references to the owner, as the handler method may
delete the owner.
|
2018-01-20 00:33:01 +01:00 |
|
Max Kellermann
|
2fed3b5e5b
|
input/Tidal*Request: add Start() method
The caller should be able to safely store the instance pointer before
his callback is invoked.
|
2018-01-19 16:03:05 +01:00 |
|
Max Kellermann
|
1ecad094bd
|
input/tidal: add API documentation
|
2018-01-19 16:03:03 +01:00 |
|
Max Kellermann
|
bbc5212436
|
fs/AllocatedPath: make the nullptr_t constructor public
|
2018-01-17 12:17:41 +01:00 |
|