Commit Graph

14035 Commits

Author SHA1 Message Date
Max Kellermann 8e5e97bfed command: add command "getfingerprint"
A first use case for our libchromaprint integration added by commit
30e22b753b
2019-04-05 14:23:35 +02:00
Max Kellermann 17dd334b82 client/ThreadBackgroundCommand: fix inverted check 2019-04-05 14:23:35 +02:00
Max Kellermann ab5eb4f9ce tag/meson.build: move libchromaprint detection to lib/chromaprint/ 2019-04-05 13:51:48 +02:00
Max Kellermann a30af2ba42 lib/chromaprint/DecoderClient: replace method PrintResult() 2019-04-05 13:40:05 +02:00
Max Kellermann 9f1c23e217 client/BackgroundCommand: infrastructure for commands running in background 2019-04-05 11:18:15 +02:00
Max Kellermann 28fc1d555f decoder/Thread: eliminate decoder_input_stream_open() 2019-04-05 10:32:07 +02:00
Max Kellermann ac74f284aa decoder/Bridge: check for STOP before InputStream::IsReady()
If the DecoderThread gets woken up by a STOP command, this should be
detected as early as possible.
2019-04-05 10:32:06 +02:00
Max Kellermann 77af999b46 decoder/Thread: use DecoderBridge::OpenUri(), eliminate duplicate code 2019-04-05 10:29:24 +02:00
Max Kellermann 4926763f00 decoder/Bridge: call InputStream::Check() before returning 2019-04-05 10:29:20 +02:00
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