PipeWire  1.0.3
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 Name

libpipewire-module-protocol-simple

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 serial or name to use for capture.
  • playback.node: an optional node serial 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

1 context.modules = [
2 { name = libpipewire-module-protocol-simple
3  args = {
4  # Provide capture stream, clients can capture data from PipeWire
5  capture = true
6  #
7  # Provide playback stream, client can send data to PipeWire for playback
8  playback = true
9  #
10  # The node name or id to use for capture.
11  #capture.node = null
12  #
13  # To make the capture stream capture the monitor ports
14  #stream.capture.sink = false
15  #
16  # The node name or id to use for playback.
17  #playback.node = null
18  #
19  #audio.rate = 44100
20  #audio.format = S16
21  #audio.channels = 2
22  #audio.position = [ FL FR ]
23  #
24  # The addresses this server listens on for new
25  # client connections
26  server.address = [
27  "tcp:4711"
28  ]
29  }
30 }
31 ]