Commit Graph

14076 Commits

Author SHA1 Message Date
Max Kellermann a19eee78c6 decoder/Bridge: make many attributes private 2019-04-05 09:26:03 +02:00
Max Kellermann 6be3c99876 decoder/Bridge: add `noexcept` 2019-04-05 09:04:08 +02:00
Max Kellermann 8006911a1f decoder/Client: add `noexcept` 2019-04-05 09:03:42 +02:00
Max Kellermann 61e5828790 input/InputStream: add `noexcept` to ReadTag() 2019-04-05 08:57:42 +02:00
Max Kellermann 6addc9d6e0 pcm/PcmConvert: remove unused attribute "dest_format" 2019-04-04 21:06:28 +02:00
Max Kellermann e78d825059 pcm/PcmConvert: eliminate Open() and Close()
Let the constructor and destructor do this.  This means that all users
have to be converted to allocate PcmConvert dynamically.
2019-04-04 21:01:08 +02:00
Max Kellermann 00b04468dc filter/Convert: make in_audio_format `const` 2019-04-04 21:00:23 +02:00
Max Kellermann 8a07724b23 test/RunChromaprint: move class ChromaprintDecoderClient to lib/chromaprint/ 2019-04-04 20:29:27 +02:00
Max Kellermann 5256929b17 tag/Chromaprint: move to lib/chromaprint/Context.hxx 2019-04-04 20:21:10 +02:00
Max Kellermann 093bf5d859 event/*, ...: make GetEventLoop() const 2019-04-04 20:07:57 +02:00
Max Kellermann 4f6144dc71 lib/curl/Init: add `const` overloads 2019-04-04 20:06:43 +02:00
Max Kellermann 2d1493ed7a lib/curl/Init: add `noexcept` 2019-04-04 20:06:20 +02:00
Max Kellermann 43677d5740 event/MaskMonitor: add `noexcept` 2019-04-04 19:54:17 +02:00
Max Kellermann 693815bb32 input/AsyncInputStream: add `noexcept` 2019-04-04 19:54:17 +02:00
Max Kellermann 58d7804d66 Client: eliminate SetExpired(), call Close() directly 2019-04-04 10:37:38 +02:00
Max Kellermann ea5e6d8f33 Merge branch 'v0.21.x' 2019-04-04 10:29:58 +02:00
Max Kellermann f6941f9a44 event/SocketMonitor: don't cancel if OnSocketReady() returns false
Expect OnSocketReady() to cancel events.  If it returns false, the
SocketMonitor may be destructed already.  This fixes a use-after-free
bug in the "httpd" output plugin.
2019-04-04 10:24:58 +02:00
Max Kellermann d2eb4df8fc event/{Fully,}BufferedSocket: add more API documentation 2019-04-04 10:24:58 +02:00
Max Kellermann df33a898d7 zeroconf/Bonjour: fix OnSocketReady() return value
Keep the SocketMonitor registered.  This wrong return value was added
6 years ago in commit 72cf8dd8a0, andd
apparently, nobody ever noticed.
2019-04-04 10:24:29 +02:00
Max Kellermann 325c7b8e8b output/httpd: close client connection on error
This missing piece probably never really hurt, because
HttpdClient::OnSocketClosed() would be called right after a socket
error, but it's better to be explicit about closing on error.
2019-04-04 09:39:22 +02:00
Max Kellermann 380656d8c9 output/httpd: add missing mutex lock 2019-04-03 22:53:03 +02:00
Max Kellermann 9111bc2c21 output/httpd: add more API documentation about locking 2019-04-03 22:49:25 +02:00
Max Kellermann c1272c72b0 client/Process: reset the CommandListBuilder before processing it
Allows removing a CommandResult::CLOSE check.
2019-04-03 22:38:26 +02:00
Max Kellermann 7d1db5c19f client/Process: refactor IsExpired() checks 2019-04-03 22:31:49 +02:00
Max Kellermann 2142d070a3 client/Process: refactor `return` statements 2019-04-03 22:30:38 +02:00
Max Kellermann 9711cee26d client/Process: update code comment 2019-04-03 22:30:18 +02:00
Max Kellermann 39baa4e364 client/Process: more strict syntax check 2019-04-03 22:29:43 +02:00
Max Kellermann f339a53e3c client/Process: move basic syntax check to the beginning of method
This catches lines within command lists as well.
2019-04-03 22:27:41 +02:00
Max Kellermann d9117a272b client/Response: use C++11 initializer 2019-04-03 21:53:20 +02:00
Max Kellermann b8a8bdeaec Permission: use IterableSplitString 2019-04-03 21:47:20 +02:00
Max Kellermann 8f20edac9d Permission: pass StringView to ParsePermission()
Eliminates a temporary copy.
2019-04-03 21:45:01 +02:00
Max Kellermann 8499a662ea Permission: add `noexcept` 2019-04-03 21:42:31 +02:00
Max Kellermann 3f05b7d8b4 client/New: include cleanup 2019-04-03 21:41:52 +02:00
Max Kellermann 1d563700a4 client/File: include cleanup 2019-04-03 21:40:12 +02:00
Max Kellermann def6b936c8 client/Response: add `noexcept` 2019-04-03 21:38:09 +02:00
Max Kellermann 3610f55479 client/Write: add `noexcept` 2019-04-03 21:37:38 +02:00
Max Kellermann 6db84852ae client/Listener: add `noexcept` 2019-04-03 21:36:02 +02:00
Max Kellermann 41dc36ba92 client/List: add `noexcept` 2019-04-03 21:34:53 +02:00
Max Kellermann fe32db17d7 client/Internal: rename to Config.hxx 2019-04-03 21:31:32 +02:00
Max Kellermann 772aa4f165 client/Internal: move CLIENT_MAX_* to class Client 2019-04-03 21:28:46 +02:00
Max Kellermann 38298e0cd8 client/Internal: move client_domain to Domain.hxx 2019-04-03 21:26:16 +02:00
Max Kellermann 1213d979f8 client/*: rename source files, remove "Client" prefix 2019-04-03 20:59:00 +02:00
Max Kellermann a9cb12b745 Client: make almost all attributes `private` 2019-04-03 20:16:08 +02:00
Max Kellermann 380f73c112 client/Process: convert functions to Client methods 2019-04-03 20:04:59 +02:00
Max Kellermann 9f79d034b3 client/Process: add `noexcept` 2019-04-03 20:04:31 +02:00
Max Kellermann 37b54179d8 net/IPv[46]Address: add cast to void* to fix GCC9 build failure
Fixes:

 src/net/IPv4Address.hxx: In member function 'constexpr IPv4Address::operator SocketAddress() const':
 src/net/IPv4Address.hxx:171:24: error: a reinterpret_cast is not a constant expression
   171 |   return SocketAddress((const struct sockaddr *)&address,
       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 src/net/IPv6Address.hxx: In member function 'constexpr IPv6Address::operator SocketAddress() const':
 src/net/IPv6Address.hxx:138:24: error: a reinterpret_cast is not a constant expression
   138 |   return SocketAddress((const struct sockaddr *)&address,
       |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Closes https://github.com/MusicPlayerDaemon/MPD/issues/522
2019-04-03 16:59:53 +02:00
Max Kellermann 4a745a399f client: un-inline the destructor 2019-04-03 14:44:01 +02:00
Max Kellermann c340485dd5 client: make GetEventLoop() public 2019-04-03 14:32:28 +02:00
Max Kellermann f8570dd79f encoder/opus: use new[] instead of xalloc() 2019-04-03 14:22:32 +02:00
Max Kellermann 4a49f3cce8 doc/protocol.rst: add parameters to `albumart` example 2019-04-03 14:04:26 +02:00