Max Kellermann
|
7a68775e6c
|
output/snapcast: Zeroconf support
|
2021-02-24 17:03:30 +01:00 |
Max Kellermann
|
e4fccc85c8
|
Main: move Zeroconf to the I/O thread
This will allow using Zeroconf in output plugins (preparing for
Snapcast with Zeroconf).
|
2021-02-24 16:29:33 +01:00 |
Max Kellermann
|
2efa142ec9
|
output/init: use the real-time I/O thread only for the ALSA plugin
|
2021-02-24 16:09:11 +01:00 |
Max Kellermann
|
29b49dd630
|
zeroconf/{bonjour,avahi}: pass service_type as parameter
|
2021-02-24 15:11:11 +01:00 |
Max Kellermann
|
9d6bf7e720
|
test/run_avahi: refactor to RunZeroconf (both avahi and bonjour)
|
2021-02-24 15:09:10 +01:00 |
Max Kellermann
|
5f34508aae
|
zeroconf/Glue: move code to the ZeroconfHelper constructor
|
2021-02-24 15:09:10 +01:00 |
Max Kellermann
|
2d8ecd561b
|
zeroconf: return a publisher object
|
2021-02-24 15:09:10 +01:00 |
Max Kellermann
|
2059195ae9
|
zeroconf: add dependency on event_dep
|
2021-02-24 15:09:10 +01:00 |
Max Kellermann
|
d89856f77b
|
zeroconf/avahi/Helper: make class SharedAvahiClient final
|
2021-02-24 15:09:10 +01:00 |
Max Kellermann
|
975d5be046
|
zeroconf/avahi/Init: return a std::unique_ptr<AvahiHelper>
|
2021-02-24 14:41:37 +01:00 |
Max Kellermann
|
b01ef1b9a6
|
zeroconf/Bonjour: return a std::unique_ptr<BonjourHelper>
|
2021-02-24 14:25:06 +01:00 |
Max Kellermann
|
ceb76b6a82
|
zeroconf/Bonjour: pass a context pointer to the callback
|
2021-02-24 14:18:35 +01:00 |
Max Kellermann
|
a7e697b588
|
zeroconf/Bonjour: add `const`
|
2021-02-24 14:18:17 +01:00 |
Max Kellermann
|
3ecd918442
|
zeroconf/Bonjour: move the DNSServiceRegister() call to the constructor
|
2021-02-24 14:17:59 +01:00 |
Max Kellermann
|
4fbdb3a2d5
|
zeroconf/Bonjour: convert the callback function to a method
|
2021-02-24 14:15:26 +01:00 |
Max Kellermann
|
0157643667
|
zeroconf/Glue: add `noexcept`
|
2021-02-24 14:15:26 +01:00 |
Max Kellermann
|
fe741bd767
|
zeroconf/Glue: allow ZeroconfInit() to throw
|
2021-02-24 14:15:04 +01:00 |
Max Kellermann
|
06b9bdba2c
|
zeroconf/Bonjour: disallow copying
|
2021-02-24 13:53:36 +01:00 |
Max Kellermann
|
bd0aa74bdd
|
zeroconf/Bonjour: rename class BonjourMonitor to BonjourHelper
|
2021-02-24 13:53:35 +01:00 |
Max Kellermann
|
47461df59c
|
zeroconf/Bonjour: don't call DNSServiceRefDeallocate() if DNSServiceRegister() fails
According to
https://developer.apple.com/documentation/dnssd/1804733-dnsserviceregister
the DNSServiceRef is initialized only if DNSServiceRegister() returns
kDNSServiceErr_NoError. The faulty error handling code could
therefore crash.
|
2021-02-24 13:49:03 +01:00 |
Max Kellermann
|
04d5588fe5
|
zeroconf/Zeroconf*: drop prefix from file names
|
2021-02-24 13:33:59 +01:00 |
Max Kellermann
|
40d061621b
|
zeroconf/Avahi: remove useless log messages
|
2021-02-24 13:33:58 +01:00 |
Max Kellermann
|
a312629aad
|
zeroconf: pass global port to init function
|
2021-02-24 06:40:26 +01:00 |
Max Kellermann
|
d527d4b530
|
zeroconf/avahi/Publisher: new class, replacing lots of code from ZeroconfAvahi.cxx
|
2021-02-23 22:07:57 +01:00 |
Max Kellermann
|
978d2638d8
|
zeroconf/avahi/Client: new class, replacing lots of code from ZeroconfAvahi.cxx
|
2021-02-23 21:53:07 +01:00 |
Max Kellermann
|
cfcafdf822
|
zeroconf/avahi: add class AvahiGlue
|
2021-02-23 21:53:00 +01:00 |
Max Kellermann
|
07865d0707
|
zeroconf/avahi/Poll: move to namespace Avahi
|
2021-02-23 21:41:16 +01:00 |
Max Kellermann
|
1ac16516a1
|
event/TimerList: add option to avoid the Boost dependency
|
2021-02-22 23:35:16 +01:00 |
Max Kellermann
|
75e8795e3f
|
util/IntrusiveList: add method insert()
|
2021-02-22 23:32:51 +01:00 |
Max Kellermann
|
4912466d50
|
util/IntrusiveList: add method erase()
|
2021-02-22 23:32:47 +01:00 |
Max Kellermann
|
664674913e
|
event/Loop: include cleanup
|
2021-02-22 23:32:39 +01:00 |
Max Kellermann
|
31e3658823
|
Merge branch 'v0.22.x'
|
2021-02-22 23:25:07 +01:00 |
Max Kellermann
|
abd416735d
|
output/snapcast: implement SendTag()
|
2021-02-22 23:20:56 +01:00 |
Max Kellermann
|
6090bd2095
|
lib/yajl/Gen: new class
|
2021-02-22 23:12:08 +01:00 |
Max Kellermann
|
1777592ec0
|
lib/yajl/Handle: fix API documentation
|
2021-02-22 22:56:52 +01:00 |
Max Kellermann
|
8e8fbe14b1
|
output/snapcast: implement Drain()
|
2021-02-22 22:49:32 +01:00 |
Max Kellermann
|
a8a39b6a38
|
output/snapcast: queue chunks
|
2021-02-22 22:41:31 +01:00 |
Max Kellermann
|
f84cb6de5e
|
output/snapcast/client: remove obsolete TODO comment
See commit dfc67c45c7
|
2021-02-22 22:39:32 +01:00 |
Max Kellermann
|
dfc67c45c7
|
output/snapcast: calculate the latency for TIME responses
|
2021-02-22 21:57:20 +01:00 |
Max Kellermann
|
e875da5d38
|
output/snapcast/protocol: swap "received" and "sent"
Snapcast's protocol documentation is wrong, see
https://github.com/badaix/snapcast/pull/811
|
2021-02-22 21:42:42 +01:00 |
Max Kellermann
|
9b9522e3f5
|
zeroconf/avahi/Poll: rename internal variables
|
2021-02-22 15:01:01 +01:00 |
Max Kellermann
|
87963685fb
|
zeroconf/avahi/Poll: use C++11 initializer
|
2021-02-22 15:00:20 +01:00 |
Max Kellermann
|
0405a57f26
|
zeroconf/avahi/Poll: make EventLoop the first parameter
|
2021-02-22 14:52:21 +01:00 |
Max Kellermann
|
f29c69d6a9
|
zeroconf/avahi/Poll: rename `timer` to `event`
|
2021-02-22 14:39:28 +01:00 |
Max Kellermann
|
7ec4de841e
|
zeroconf/avahi/Poll: add `constexpr`
|
2021-02-22 14:34:32 +01:00 |
Max Kellermann
|
1f08d2d03c
|
zeroconf/avahi/Poll: add `noexcept`
|
2021-02-22 14:31:37 +01:00 |
Max Kellermann
|
c1a695d1ac
|
zeroconf/avahi/Poll: add method GetEventLoop()
|
2021-02-22 14:31:10 +01:00 |
Max Kellermann
|
ec05056e38
|
zeroconf/avahi/Poll: forbid copying
|
2021-02-22 14:26:08 +01:00 |
Max Kellermann
|
c0b9339d31
|
zeroconf/AvahiPoll: move to lib/avahi/
|
2021-02-22 14:24:00 +01:00 |
Max Kellermann
|
6eba621045
|
decoder/ffmpeg: fix build problem with FFmpeg 3.4
Regression by commit a22d1c88d7
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1097
|
2021-02-22 13:36:46 +01:00 |