.TH "libpipewire-module-netjack2-driver" 7 "1.6.8" "PipeWire" \" -*- nroff -*- .ad l .nh .SH NAME libpipewire-module-netjack2-driver \- Netjack2 driver .SH DESCRIPTION .PP The netjack2-driver module provides a source or sink that is following a netjack2 manager\&. .PP It is meant to be used over stable (ethernet) network connections with minimal latency and jitter\&. .PP The driver normally decides how many ports it will send and receive from the manager\&. By default however, these values are set to -1 so that the manager decides on the number of ports\&. .PP With the global or per stream audio\&.port and midi\&.ports properties this behaviour can be adjusted\&. .PP The driver will send out UDP messages on a (typically) multicast address to inform the manager of the available driver\&. This will then instruct the manager to configure and start the driver\&. .PP On the driver side, a sink and/or source with the specified numner of audio and midi ports will be created\&. On the manager side there will be a corresponding source and/or sink created respectively\&. .PP The driver will be scheduled with exactly the same period as the manager but with a configurable number of periods of delay (see netjack2\&.latency, default 2)\&. .PP .SH "MODULE NAME" .PP .PP \fRlibpipewire-module-netjack2-driver\fP .PP .SH "MODULE OPTIONS" .PP .PP .IP "\(bu" 2 \fRdriver\&.mode\fP: the driver mode, sink|source|duplex, default duplex\&. This set the per stream audio\&.port and midi\&.ports default from -1 to 0\&. sink mode defaults to no source ports, source mode to no sink ports and duplex leaves the defaults as they are\&. .IP "\(bu" 2 \fRlocal\&.ifname = \fP: interface name to use .IP "\(bu" 2 \fRnet\&.ip =\fP: multicast IP address, default "225\&.3\&.19\&.154" .IP "\(bu" 2 \fRnet\&.port =\fP: control port, default 19000 .IP "\(bu" 2 \fRnet\&.mtu = \fP: MTU to use, default 1500 .IP "\(bu" 2 \fRnet\&.ttl = \fP: TTL to use, default 1 .IP "\(bu" 2 \fRnet\&.loop = \fP: loopback multicast, default false .IP "\(bu" 2 \fRsource\&.ip =\fP: IP address to bind to, default "0\&.0\&.0\&.0" .IP "\(bu" 2 \fRsource\&.port =\fP: port to bind to, default 0 (allocate) .IP "\(bu" 2 \fRnetjack2\&.client-name\fP: the name of the NETJACK2 client\&. .IP "\(bu" 2 \fRnetjack2\&.latency\fP: the latency in cycles, default 2 .IP "\(bu" 2 \fRaudio\&.ports\fP: the number of audio ports\&. Can also be added to the stream props\&. A value of -1 will configure to the number of audio ports on the manager\&. .IP "\(bu" 2 \fRmidi\&.ports\fP: the number of midi ports\&. Can also be added to the stream props\&. A value of -1 will configure to the number of midi ports on the manager\&. .IP "\(bu" 2 \fRsource\&.props\fP: Extra properties for the source filter\&. .IP "\(bu" 2 \fRsink\&.props\fP: Extra properties for the sink filter\&. .PP .PP .SH "GENERAL OPTIONS" .PP .PP Options with well-known behavior\&. .PP .IP "\(bu" 2 \fBremote.name\fP .IP "\(bu" 2 \fBaudio.channels\fP .IP "\(bu" 2 \fBaudio.layout\fP .IP "\(bu" 2 \fBaudio.position\fP .IP "\(bu" 2 \fBnode.name\fP .IP "\(bu" 2 \fBnode.description\fP .IP "\(bu" 2 \fBnode.group\fP .IP "\(bu" 2 \fBnode.virtual\fP .IP "\(bu" 2 \fBmedia.class\fP .IP "\(bu" 2 \fBtarget.object\fP to specify the remote node\&.name or serial\&.id to link to .PP .PP .SH "EXAMPLE CONFIGURATION OF A DUPLEX SINK/SOURCE" .PP .PP .PP .nf # ~/\&.config/pipewire/pipewire\&.conf\&.d/my\-netjack2\-driver\&.conf context\&.modules = [ { name = libpipewire\-module\-netjack2\-driver args = { #netjack2\&.client\-name = PipeWire #netjack2\&.latency = 2 #midi\&.ports = 0 #audio\&.ports = \-1 #audio\&.channels = 2 #audio\&.position = [ FL FR ] source\&.props = { # extra source properties } sink\&.props = { # extra sink properties } } } ] .fi .PP