PipeWire 1.7.0
Loading...
Searching...
No Matches
sendspin sender

The sendspin-send module creates a PipeWire sink that sends audio packets using the sendspin protocol to a client.

The sender will listen on a specific port (8927) and create a stream for each connection.

In combination with a virtual sink, each of the client streams can be sent the same data in the client specific format.

Module Name

libpipewire-module-sendspin-send

Module Options

Options specific to the behavior of this module

  • local.ifname = <str>: interface name to use
  • local.ifaddress = <str>: interface address to use
  • source.ip = <str>: the source ip address to listen on, default "127.0.0.1"
  • source.port = <int>: the source port to listen on, default 8927
  • source.path = <str>: comma separated list of paths to listen on, default "/sendspin"
  • sendspin.ip: an array of IP addresses of sendspin clients to connect to
  • sendspin.port: the port of the sendspin client to connect to, default 8928
  • sendspin.path: the path of the sendspin client to connect to, default "/sendspin"
  • sendspin.group-id: the group-id of the server, default random
  • sendspin.group-name: the group-name of the server, default "PipeWire"
  • sendspin.delay: the delay to add to clients in seconds. Default 5.0
  • node.always-process = <bool>: true to send silence even when not connected.
  • stream.props = {}: properties to be passed to all the stream
  • stream.rules = <rules>: match rules, use the create-stream action to make a stream for the client.

General options

Options with well-known behavior:

Example configuration

# ~/.config/pipewire/pipewire.conf.d/my-sendspin-send.conf
context.modules = [
{ name = libpipewire-module-sendspin-send
args = {
#local.ifname = eth0
#source.ip = 127.0.0.1
#source.port = 8927
#source.path = "/sendspin"
#sendspin.ip = [ 127.0.0.1 ]
#sendspin.port = 8928
#sendspin.path = "/sendspin"
#sendspin.group-id = "abcded"
#sendspin.group-name = "PipeWire"
#sendspin.delay = 5.0
#node.always-process = false
#audio.position = [ FL FR ]
stream.props = {
#media.class = "Audio/sink"
#node.name = "sendspin-send"
}
stream.rules = [
{ matches = [
{ sendspin.ip = "~.*"
#sendspin.port = 8928
#sendspin.path = "/sendspin"
#zeroconf.ifindex = 0
#zeroconf.name = ""
#zeroconf.type = "_sendspin._tcp"
#zeroconf.domain = "local"
#zeroconf.hostname = ""
}
]
actions = {
create-stream = {
stream.props = {
#target.object = ""
#media.class = "Audio/Sink"
}
}
}
}
]
}
}
]
Since
1.6.0