Max Kellermann
|
ef114ee6cb
|
input/alsa: improve logging in Recover()
Copy yet more code from the ALSA output plugin.
|
2017-01-14 20:52:41 +01:00 |
|
Max Kellermann
|
667f209742
|
input/alsa: check snd_pcm_state() in Recover()
Copy some good code from the ALSA output plugin.
|
2017-01-14 20:51:51 +01:00 |
|
Max Kellermann
|
c5cf66402c
|
input/alsa: make two attributes "const"
|
2017-01-13 20:26:36 +01:00 |
|
Max Kellermann
|
05417049eb
|
input/alsa: clear sockets from within IOThread
Fixes assertion failure in implicit destructor.
|
2017-01-13 20:17:16 +01:00 |
|
Max Kellermann
|
c3fc84de12
|
input/curl: wake up client thread after seek to end of file
Call SeekDone() to avoid the freeze bug.
|
2017-01-09 18:08:33 +01:00 |
|
Max Kellermann
|
5163b1a624
|
lib/curl/Request: require the caller to explicitly register the request
This allows constructing an instance in any thread, and register it
inside the IOThread later.
|
2017-01-07 16:01:58 +01:00 |
|
Max Kellermann
|
6cff3214f3
|
lib/curl/Slist: new wrapper for curl_slist
|
2017-01-06 19:37:31 +01:00 |
|
Max Kellermann
|
5900253b85
|
update copyright year
|
2017-01-03 20:48:59 +01:00 |
|
Max Kellermann
|
31d77ec580
|
input/curl, ...: use strncmp() instead of memcmp() to avoid crash
|
2017-01-03 13:17:02 +01:00 |
|
Max Kellermann
|
06116382ee
|
input/curl: move code to class CurlRequest
The CurlRequest gives us a more low-level API to CURL without the
InputStream interface, integrated into our IOThread.
|
2017-01-03 12:24:05 +01:00 |
|
Max Kellermann
|
4397fe3a13
|
input/curl: fold input_curl_easy_add_indirect() into the only caller
|
2017-01-03 10:53:20 +01:00 |
|
Max Kellermann
|
534e1fa6eb
|
input/curl: move code to SeekInternal(), simplify DoSeek()
Simplifies the code and reduces the number of IOThread roundtrips.
|
2017-01-03 10:50:02 +01:00 |
|
Max Kellermann
|
3e8cc2c670
|
input/curl: move class CurlGlobal to separate source file
|
2017-01-03 10:50:02 +01:00 |
|
Max Kellermann
|
2e182e84c3
|
thread/Mutex: remove ScopeLock, use std::lock_guard directly
|
2017-01-03 07:11:57 +01:00 |
|
Max Kellermann
|
b042095ac2
|
event/Loop: use std::chrono
|
2016-12-28 01:15:08 +01:00 |
|
Max Kellermann
|
fc83d38e67
|
input/curl: wrap CURLM* in new class CurlMulti
|
2016-12-19 16:41:12 +01:00 |
|
Max Kellermann
|
7063c423eb
|
input/curl: rename class CurlMulti to CurlGlobal
|
2016-12-19 16:37:01 +01:00 |
|
Max Kellermann
|
36b93993cf
|
input/curl: wrap CURL* in new class CurlEasy
|
2016-12-19 14:42:04 +01:00 |
|
Max Kellermann
|
ceffc5aa72
|
input/curl: remove duplicate InitEasy() call
|
2016-12-19 14:38:50 +01:00 |
|
Max Kellermann
|
35a2a48c47
|
Merge branch 'v0.19.x'
|
2016-11-17 22:20:24 +01:00 |
|
Max Kellermann
|
5c3e55b5b1
|
{input,output}/alsa: fix gcc 7.0 -Wimplicit-fallthrough
|
2016-11-16 19:50:38 +01:00 |
|
Max Kellermann
|
a55bb28069
|
decoder: include cleanup
|
2016-10-29 11:04:49 +02:00 |
|
Max Kellermann
|
8c744efd56
|
input/InputStream: migrate from class Error to C++ exceptions
|
2016-09-16 17:43:36 +02:00 |
|
Max Kellermann
|
597e59f10d
|
input/thread: use C++ exceptions instead of class Error
|
2016-09-16 17:43:32 +02:00 |
|
Max Kellermann
|
7acd91331c
|
input/curl: use C++ exceptions instead of class Error
|
2016-09-16 17:43:32 +02:00 |
|
Max Kellermann
|
0fdaca17a2
|
input/alsa: use C++ exceptions instead of class Error
|
2016-09-16 17:43:32 +02:00 |
|
Max Kellermann
|
539c0ed171
|
{input,storage}/nfs: use C++ exceptions instead of class Error
|
2016-09-16 17:43:32 +02:00 |
|
Max Kellermann
|
687ea53616
|
input/nfs: use class ScopeUnlock
|
2016-09-16 16:51:36 +02:00 |
|
Max Kellermann
|
220d9528a3
|
archive/Plugin: migrate open() from class Error to C++ exceptions
|
2016-09-09 18:36:36 +02:00 |
|
Max Kellermann
|
fc7d3f64c0
|
input/Plugin: migrate open() from class Error to C++ exceptions
|
2016-09-09 18:15:01 +02:00 |
|
Max Kellermann
|
33b70567c8
|
input/alsa: use AtScopeExit()
|
2016-09-09 17:12:52 +02:00 |
|
Max Kellermann
|
720bf51ba6
|
input/alsa: simplify OpenDevice(), merge redundant recovery code
|
2016-09-09 17:12:52 +02:00 |
|
Max Kellermann
|
90c8a1b1cf
|
input/archive: use AtScopeExit() for exception-safety
|
2016-09-09 16:32:11 +02:00 |
|
Max Kellermann
|
6ed77f2a27
|
input/Plugin: migrate init() from class Error to C++ exceptions
|
2016-09-09 15:16:47 +02:00 |
|
Max Kellermann
|
a73688a2be
|
input/Plugin: remove InitResult::UNAVAILABLE, throw PluginUnavailable instead
|
2016-09-09 15:11:52 +02:00 |
|
Max Kellermann
|
135662d6b0
|
lib/smbclient/Init: throw std::runtime_error on error
|
2016-09-05 11:32:20 +02:00 |
|
Max Kellermann
|
d3c7fac606
|
thread/Thread: throw std::system_error on error
|
2016-06-17 19:11:20 +02:00 |
|
Max Kellermann
|
95e53ac0a0
|
input/alsa: rebase on AsyncInputStream
Use the snd_pcm_t only in the IOThread, and reuse code that is
well-known to work.
|
2016-06-17 18:36:54 +02:00 |
|
Max Kellermann
|
bdd0c3686d
|
input/async: use class HugeAllocation
|
2016-06-17 18:06:02 +02:00 |
|
Max Kellermann
|
ef053035d0
|
util/HugeAllocator: throw std::bad_alloc on error
|
2016-06-17 17:57:40 +02:00 |
|
Max Kellermann
|
1aee89f5ea
|
*: include cleanup (using iwyu)
|
2016-03-01 22:08:13 +01:00 |
|
Max Kellermann
|
1d67aa7bf2
|
update copyright year to 2016
|
2016-02-26 17:54:05 +01:00 |
|
Max Kellermann
|
d9e8ce22cb
|
util/Error: use std::exception_ptr instead of std::exception
Necessary to preserve type information. The try/catch sequence didn't
work previously.
Same fix as in commit 1c904000
|
2016-02-26 16:32:24 +01:00 |
|
Max Kellermann
|
e6e7d6dbd6
|
fs/io/Reader: use C++ exceptions instead of class Error
|
2015-12-18 01:08:16 +01:00 |
|
Max Kellermann
|
3dc989bccb
|
input/alsa: use StringAfterPrefix()
|
2015-11-06 09:49:22 +01:00 |
|
Max Kellermann
|
c880099deb
|
util/StringCompare: add StringIsEmpty()
|
2015-11-06 09:37:07 +01:00 |
|
Max Kellermann
|
733989a284
|
util/StringUtil: move comparison functions to StringCompare.cxx
|
2015-11-06 09:20:18 +01:00 |
|
Max Kellermann
|
58996b841a
|
config/Global: allow calling config_get_string() with one argument
default_value defaults to nullptr.
|
2015-06-26 08:06:40 +02:00 |
|
Max Kellermann
|
90e7ace980
|
release v0.19.10
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJVhsF2AAoJECNuiljG20US2OUQAIyDcaUCFgUa2CYa7MftCPGc
dYJFwf+6Y2fJdSXcogYZmXNKNjFbPAZ4qqGdoNfI5a0rLxMarmL4DyjziAWi3ETB
MOkZK65Y5ySyyw69e+i/XsOwOn8rm6jDuwHKpT7wVJNjvZ8nA8esvu5b1Ief5LBd
UwEmn5DtKjA7dErHEYd2YvMK0xm+YmoKXuhmJKAn3sQdCEldgH4T5BCdOqmfrHWX
BYmNxmP3PU9Tqi7XHTSFZJn6vWiXhOoWr4Cb7K54j49sRV2B4QMWX1CLyK4+Jwmk
NZwD1IoGtoks5twfMTA9F9dBV/CPAWT69E0LIvaFJwCyoPCEnEi6k41bRAWK7P65
QwKxdtY/GZnVFpiqXba+wkD6VBa5wmkjS10+cIBhz3CVCEE+N5YacubUw5JieYg3
kOG2htSF1YP/Mo+IAObO9doQWHnDUavVhhpQ8UyqQ1bDMsmaEpfE16TRmlY/l5wx
Aor2p6D3c0E0IGpEwjOl6T9pDql4dyTdrRLLXJ6oD9iYv2rDdahctBRdyFZ1mRwX
oNUz8bfGDrshHVvwjQTr2b4O+w+yc+RSuJcyCGGcn5LakBuiM6vYNYuZzq3Yj/RK
Wk7RErVsbtY4ZRH06Lf5MSM5TflnrfQmzkUB0rZ0XoDyweoHOHPyzKhvBaKhadNh
UnEx4kCOvWdjFXUVWH3Q
=MrVf
-----END PGP SIGNATURE-----
Merge tag 'v0.19.10'
|
2015-06-21 16:06:02 +02:00 |
|
Max Kellermann
|
947e902288
|
input/curl: trigger the condition variable in RequestDone()
Fixes deadlock on small responses.
|
2015-06-19 16:45:38 +02:00 |
|