libpipewire-module-protocol-native − Protocol Native
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.
libpipewire-module-protocol-native
The module supports the following arguments:
• |
sockets: [ { name = ’socket-name’, owner = ’owner’, group = ’group’, mode = ’mode’, selinux.context = ’context’ }, ... ] |
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.
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.
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.
context.modules
= [
{ name =
libpipewire−module−protocol−native }
]
context.modules
= [
{ name =
libpipewire−module−protocol−native,
args = { sockets = [ { name = "pipewire−0"
}, { name = "pipewire−0−manager" } ] }
}
]