Commit Graph

12090 Commits

Author SHA1 Message Date
Max Kellermann c8f7a859ea lib/upnp/Discovery: use CURL instead of UpnpDownloadUrlItem()
We can do CURL requests asynchronously, and we don't need a
synchronous WorkQueue thread for that.

This allows parallelizing lookups and allows immediate cancellation.
2017-08-25 09:52:44 +02:00
Max Kellermann 28a2d41b85 db/DatabasePlugin: pass EventThread's EventLoop to create()
Allows database plugins to use the EventThread, e.g. for CURL
integration.
2017-08-24 19:53:52 +02:00
Max Kellermann 7e76656a18 db/DatabasePlugin: add #EventLoop parameter documentation 2017-08-24 19:45:23 +02:00
Max Kellermann 0b93f52ba4 release v0.20.10
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlmefSAQHG1heEBtdXNp
 Y3BkLm9yZwAKCRAjbopYxttFEut8D/4oZgzdHTMbR6uYbFvkUmPrwtohq8N4JbaS
 /TtESfKPJ5PIv42MA5k89DjssQUz0uzuladsy+WXxTx8BD4naXaiOy7loDXjPcnu
 YL0sUdAKZVVBdau4dcumSQF0ewhUjuKZUt2I6W2Q35IpagV89nf+mHUXDtUrjykC
 coXIwrcINpi0MSo1pbS5m11XNOk2yPfl8ZR+9yn6AvaseCtrwxmogAJGK5bUSKUM
 NMaLffVLNfIL/YEBzm2RdgSyU4LBREKnO6vF7UCBSKHIVPyne83fbqc90COj7I9Q
 01LGowUAvJIoRIlMzjxlXO6S13hmXJlDZSECaaQYQjiC70RbC1+sK9tQtKQ4BqET
 C+vG9ysfqVi4bsYkOppR5JDE9NcghkjK+iGwBYVdXmRwGzmdb1W6fWgAqYGRF+Ql
 Fg+/htruNsvvuO+RtcOd8WJWpP3nKisGu9jRp7dceAsWGE20M8HTjCeSZsZM+LvU
 B9Lp9NplKqkJyq2k81OUmGBWkR7t8okMeZGvon+sExZ285giryOfhao4eEX7CBqy
 XHlClydNnBW11R6TEzhjIxCDufPdboM0XHVxX4kutfkPVGkPnJR/8Jk0c+d7AiVE
 H5MSgWsOu9fN//nIuUxdODtL5VMw45/hdydZ9YMI/RnwMQFdEqAZmBvMKE7ZLqrI
 F80eZ8/nQg==
 =b8hp
 -----END PGP SIGNATURE-----

Merge tag 'v0.20.10'

release v0.20.10
2017-08-24 09:35:34 +02:00
Max Kellermann 57a71c157d release v0.20.10 2017-08-24 09:15:43 +02:00
Max Kellermann cc76aeb7bb python/build/libs: upgrade CURL to 7.55.1 2017-08-24 09:06:15 +02:00
Max Kellermann 811cabf8a9 python/libs: upgrade Opus to 1.2.1 2017-08-24 09:06:15 +02:00
Max Kellermann bf8d2f93d2 python/build/libs: upgrade FFmpeg to 3.3.3 2017-08-24 09:06:15 +02:00
Max Kellermann 07d8259ad6 python/libs: upgrade Boost to 1.65 2017-08-23 17:46:25 +02:00
Max Kellermann a00d412008 player/Thread: initialize play_audio_format, fixes assertion
This fixes an assertion failure caused by resuming playback before the
decoder has finished startup.
2017-08-23 17:43:49 +02:00
Matthew Leon aa9c6062b0 Merge branch 'v0.20.x' into master
contains OSX mixer
2017-08-22 10:36:37 +01:00
Matthew Leon 5fb39658f1 OSX mixer 2017-08-21 20:05:50 +01:00
Max Kellermann 95637fd153 lib/upnp/Discovery: use strncmp() instead of memcmp()
memcmp() can overflow the buffer.
2017-08-18 18:48:22 +02:00
Max Kellermann 5ac72211cd event/Loop: set thread to current thread by default
Allows eliminating lots of complexity and workarounds for bogus
assertion failures.
2017-08-18 18:18:55 +02:00
Max Kellermann 94525d3952 IOThread: remove obsolete library
We now pass the EventThread's EventLoop reference around.
2017-08-18 18:15:19 +02:00
Max Kellermann 7f9a2f8adb event/Loop: schedule and cancel the WakeFD in Run()
This is only needed while Run() is alive, and moving it there avoids
problems with thread-checking assertions.
2017-08-18 18:08:06 +02:00
Max Kellermann cd0e92878f test/DumpDatabase: start an EventThread
Our local EventLoop instance was never run; it was not usable.
2017-08-18 17:16:23 +02:00
Max Kellermann 9033f07724 test/{DumpDatabase,run_neighbor_explorer}: add class GlobalInit 2017-08-18 14:21:54 +02:00
Max Kellermann b7d0890bc0 lib/curl/Init: share a CurlGlobal instance between input and storage 2017-08-18 13:34:55 +02:00
Max Kellermann b2b079a26b SongFilter: use std::chrono::system_clock::time_point instead of time_t 2017-08-18 12:30:50 +02:00
Max Kellermann b886dfae4d DetachedSong, db/LightSong, db/simple/Song: use std::chrono::system_clock::time_point 2017-08-18 12:22:47 +02:00
Max Kellermann 902fbb3347 db/LightDirectory: use std::chrono::system_clock::time_point 2017-08-18 12:16:43 +02:00
Ryan Walklin 9f16c798d0 Fix std::string read after free in read_stream_art 2017-08-17 21:25:03 +10:00
Ryan Walklin 318f80d113 Fix EventPipe file descriptors 2017-08-17 12:21:01 +10:00
Ryan Walklin 9df8b32f10 Add albumart command
Add API documentation
Support 64 bit offsets
Use InputStream for all reads
2017-08-15 20:38:33 +10:00
Max Kellermann 6f37f5752b db/PlaylistInfo: use std::chrono::system_clock::time_point 2017-08-11 12:50:33 +02:00
Max Kellermann 9d0a71f245 output/Jack: add "noexcept" 2017-08-11 12:41:11 +02:00
Max Kellermann ff1b435232 output/Jack: reorder methods 2017-08-11 12:39:42 +02:00
Max Kellermann b57a272f67 system/EPollFD: throw exception instead of raising fatal error 2017-08-11 09:39:47 +02:00
Max Kellermann ef79647e85 zeroconf/Avahi: throw exception instead of raising fatal error 2017-08-11 09:38:08 +02:00
Max Kellermann d3fd89552f unix/Signalhandlers: throw exception instead of raising fatal error 2017-08-11 09:37:30 +02:00
Max Kellermann 6d43e70a93 event/SignalMonitor: throw exception instead of raising fatal error 2017-08-11 09:36:22 +02:00
Max Kellermann e8333316ee Permission: throw exception instead of raising fatal error 2017-08-11 09:33:59 +02:00
Max Kellermann 85edcb858d tag/Config: throw exception instead of raising fatal error 2017-08-11 09:33:07 +02:00
Max Kellermann bab5f1a93f client: make GREETING constexpr 2017-08-11 09:22:26 +02:00
Max Kellermann 6de8303df8 client: use C++11 initializers 2017-08-11 09:21:29 +02:00
Max Kellermann 33b4114534 system/fd_util: remove unused library 2017-08-11 09:20:15 +02:00
Max Kellermann 7a4457402f system/EventPipe: use FileDescriptor::CreatePipeNonBlock() 2017-08-11 09:19:00 +02:00
Max Kellermann 9056dcaf7d system/FileDescriptor: add method CreatePipeNonBlock() 2017-08-11 09:15:22 +02:00
Max Kellermann 2119e4fd3e system/EventPipe: use class UniqueSocketDescriptor in PoorSocketPair() 2017-08-11 09:09:04 +02:00
Max Kellermann bcd5190f1d system/EventPipe: throw exception instead of raising fatal error 2017-08-11 09:09:04 +02:00
Max Kellermann d705a92e43 net/IPv4Address: new class 2017-08-11 09:09:04 +02:00
Max Kellermann 614b3634d4 net/SocketDescriptor: add AcceptNonBlock() overload without address 2017-08-11 09:07:35 +02:00
Max Kellermann b234f4307f net/SocketDescriptor: AcceptNonBlock() enables non-blocking even if SOCK_NONBLOCK is unavailable 2017-08-11 09:04:38 +02:00
Max Kellermann e38c213ee0 net/SocketDescriptor: check HAVE_ACCEPT4 2017-08-11 09:04:10 +02:00
Max Kellermann 699f41e114 system/EventPipe: use AtScopeExit() in PoorSocketPair() 2017-08-11 08:30:37 +02:00
Max Kellermann 424e1363ed zeroconf/Bonjour: pass SocketDescriptor to constructor
Fixes Mac build failure.
2017-08-11 08:25:26 +02:00
Max Kellermann 7484bc31b4 system/FileDescriptor: implement CreatePipe() on Windows 2017-08-11 08:15:47 +02:00
Max Kellermann 5a495cc165 system/fd_util: remove unused function close_socket() 2017-08-10 19:47:57 +02:00
Max Kellermann 9ff4717738 system/fd_util: remove unused function accept_cloexec_nonblock() 2017-08-10 19:47:40 +02:00