PipeWire  0.3.59
PipeWire Module: Protocol Simple

The simple protocol provides a bidirectional audio stream on a network socket.

It is meant to be used with the simple protocol player app, available on Android to play and record a stream.

Each client that connects will create a capture and/or playback stream, depending on the configuration options.

Module Options

  • capture: boolean if capture is enabled. This will create a capture stream for each connected client.
  • playback: boolean if playback is enabled. This will create a playback stream for each connected client.
  • capture.node: an optional node id or name to use for capture.
  • playback.node: an optional node id or name to use for playback.
  • server.address = []: an array of server addresses to listen on as tcp:<ip>:<port>.

General options

Options with well-known behavior.

By default the server will work with stereo 16 bits samples at 44.1KHz.

Example configuration

context.modules = [
{ name = libpipewire-module-protocol-simple
args = {
# Provide capture stream, clients can capture data from PipeWire
capture = true
#
# Provide playback stream, client can send data to PipeWire for playback
playback = true
#
# The node name or id to use for capture.
#capture.node = null
#
# To make the capture stream capture the monitor ports
#stream.capture.sink = false
#
# The node name or id to use for playback.
#playback.node = null
#
#audio.rate = 44100
#audio.format = S16
#audio.channels = 2
#audio.position = [ FL FR ]
#
# The addresses this server listens on for new
# client connections
server.address = [
"tcp:4711"
]
}
}
]