snapcast-discover: add snapcast discover module

The module detects remote snapcast servers and creates a new sink
with protocol-simple for each server.

It sets up a new stream on the server for the sink with JSON-RPC.
This commit is contained in:
Wim Taymans 2024-05-23 12:41:53 +02:00
parent 59c4e7645f
commit 26c1993e8a
4 changed files with 932 additions and 1 deletions

View file

@ -39,6 +39,7 @@ module_sources = [
'module-rtp-session.c',
'module-rtp-source.c',
'module-rtp-sink.c',
'module-snapcast-discover.c',
'module-vban-recv.c',
'module-vban-send.c',
'module-session-manager.c',
@ -641,6 +642,20 @@ if build_module_raop_discover
endif
summary({'raop-discover (needs Avahi)': build_module_raop_discover}, bool_yn: true, section: 'Optional Modules')
build_module_snapcast_discover = avahi_dep.found()
if build_module_snapcast_discover
pipewire_module_snapcast_discover = shared_library('pipewire-module-snapcast-discover',
[ 'module-snapcast-discover.c',
'module-zeroconf-discover/avahi-poll.c' ],
include_directories : [configinc],
install : true,
install_dir : modules_install_dir,
install_rpath: modules_install_dir,
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep, avahi_dep],
)
endif
summary({'snapcast-discover (needs Avahi)': build_module_snapcast_discover}, bool_yn: true, section: 'Optional Modules')
build_module_raop = openssl_lib.found()
if build_module_raop
pipewire_module_raop_sink = shared_library('pipewire-module-raop-sink',