plucky (7) libpipewire-module-protocol-native.7.gz

Provided by: libpipewire-0.3-modules_1.2.7-1ubuntu5_amd64 bug

NAME

       libpipewire-module-protocol-native - Protocol Native

DESCRIPTION

       The native protocol module implements the PipeWire communication between a client and a server using unix
       local sockets.

       Normally this module is loaded in both client and server config files so that they cam communicate.

MODULE NAME

       libpipewire-module-protocol-native

MODULE OPTIONS

       The module supports the following arguments:

       • sockets: [ { name = 'socket-name', owner = 'owner', group = 'group', mode = 'mode', selinux.context =
         'context' }, props = { ... }, ... ]

       Array of Unix socket names and (optionally) owner/permissions to serve, if the context is a server. If
       not absolute paths, the sockets are created in the default runtime directory.

       The props are copied directly to any client that connects through this server socket and can be used to
       configure special permissions.

       Has the default value [ { name = 'CORENAME' }, { name = 'CORENAME-manager' } ], where CORENAME is the
       name of the PipeWire core, usually pipewire-0.

       The permissions have no effect for sockets from Systemd socket activation. Those should be configured via
       the systemd.socket(5) mechanism.

GENERAL OPTIONS

       The name of the core is obtained as:

       • PIPEWIRE_CORE : the environment variable with the name of the core

       • core.name : in the context properties

       • a name based on the process id

       The context will also become a server if:

       • PIPEWIRE_DAEMON : the environment is true

       • core.daemon : in the context properties is true

       The socket will be located in the directory obtained by looking at the following environment variables:

       • PIPEWIRE_RUNTIME_DIR

       • XDG_RUNTIME_DIR

       • USERPROFILE

       The socket address will be written into the notification file descriptor if the following environment
       variable is set:

       • PIPEWIRE_NOTIFICATION_FD

       When a client connect, the connection will be made to:

       • PIPEWIRE_REMOTE : the environment with the remote name

       • remote.name : the property in the context.

       • The default remote named 'pipewire-0'

       A Special remote named 'internal' can be used to make a connection to the local context. This can be done
       even when the server is not a daemon. It can be used to treat a local context as if it was a server.

EXAMPLE CONFIGURATION

       context.modules = [
       { name = libpipewire-module-protocol-native }
       ]

       context.modules = [
        { name = libpipewire-module-protocol-native,
          args = {
              sockets = [
                  { name = "pipewire-0" }
                  { name = "pipewire-0-manager" }
                  { name = "pipewire-1"
                    props = { my.connection = "the other one" }
                  }
              ]
          }
        }
       ]