PipeWire: Snapcast Discover

PipeWire 1.2.6

Loading...
Searching...
No Matches
Snapcast Discover

Automatically creates a Snapcast sink device based on zeroconf information.

This module will load module-protocol-simple for each announced stream that matches the rule with the create-stream action and passes the properties to the module.

If no stream.rules are given, it will create a sink for all announced snapcast servers.

A new stream will be created on the snapcast server with the given `snapcast.stream-name` or `PipeWire-<hostname>`. You will need to route this new stream to clients with the snapcast control application.

# Module Name

`libpipewire-module-snapcast-discover`

# Module Options

Options specific to the behavior of this module

- `snapcast.discover-local` = allow discovery of local services as well. false by default.
- `stream.rules` = <rules>: match rules, use create-stream actions. See Protocol Simple for module properties.

# Example configuration

# ~/.config/pipewire/pipewire.conf.d/my-snapcast-discover.conf
context.modules = [
{ name = libpipewire-module-snapcast-discover
args = {
stream.rules = [
{ matches = [
{ snapcast.ip = "~.*"
#snapcast.ifindex = 1
#snapcast.ifname = eth0
#snapcast.port = 1000
#snapcast.name = ""
#snapcast.hostname = ""
#snapcast.domain = ""
}
]
actions = {
create-stream = {
#audio.rate = 44100
#audio.format = S16LE # S16LE, S24_32LE, S32LE
#audio.channels = 2
#audio.position = [ FL FR ]
#
#snapcast.stream-name = "PipeWire"
#
#capture = true
#capture.props = {
#target.object = ""
#media.class = "Audio/Sink"
#}
}
}
}
]
}
}
]

# See also

Protocol Simple