Max Kellermann
|
a0dc398f36
|
util/IntrusiveList: erase() returns an iterator
|
2021-02-25 14:12:39 +01:00 |
|
Max Kellermann
|
b54d2d984a
|
util/IntrusiveList: use ToHook() in erase()
|
2021-02-25 14:12:10 +01:00 |
|
Max Kellermann
|
4ab73f9de9
|
util/IntrusiveList: add missing ToNode() cast in iterator_to()
|
2021-02-25 14:10:55 +01:00 |
|
Max Kellermann
|
5ebe23e4bb
|
db/upnp/Discovery: use class IntrusiveList
|
2021-02-24 20:39:42 +01:00 |
|
Max Kellermann
|
aa227cded1
|
input/qobuz: use class IntrusiveList
|
2021-02-24 20:31:47 +01:00 |
|
Max Kellermann
|
e406bdbb80
|
input/tidal: use class IntrusiveList
|
2021-02-24 20:31:13 +01:00 |
|
Max Kellermann
|
1048f23680
|
util/IntrusiveList: add hook class SafeLinkIntrusiveListHook
Similar to boost::intrusive::safe_link.
|
2021-02-24 20:29:16 +01:00 |
|
Max Kellermann
|
8fe8f09027
|
util/IntrusiveList: add noexcept
|
2021-02-24 20:17:28 +01:00 |
|
Max Kellermann
|
78670c0941
|
util/IntrusiveList: add constexpr
|
2021-02-24 20:16:54 +01:00 |
|
Max Kellermann
|
34f735890e
|
output/snapcast: remove obsolete TODO comment
|
2021-02-24 17:05:14 +01:00 |
|
Max Kellermann
|
f08810b202
|
output/snapcast: add missing #ifdef HAVE_ZEROCONF
|
2021-02-24 17:04:15 +01:00 |
|
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 |
|