Closed microfx closed 2 months ago
Thanks for the post. There are a few things. It would be helpful if you could post the results from
$ shairport-sync --displayConfig
Secondly, what sound server is being used -- is it PipeWire or PulseAudio?
{
interpolation = "basic"; // aka "stuffing". Default is "auto". Alternatives are "basic" or "soxr". Choose "soxr" only if you have a reasonably fast processor and Shairport Sync has been built with "soxr" support.
output_backend = "jack"; // Run "shairport-sync -h" to get a list of all output_backends, e.g. "alsa", "pipe", "stdout". The default is the first one.
volume_control_profile = "dasl_tapered" ; // use this advanced setting to specify how the airplay volume is transferred to the mixer volume.
// audio_backend_buffer_desired_length = 9845;
audio_backend_buffer_desired_length_in_seconds = 1; // If set too small, buffer underflow occurs on low-powered machines.
dbus_service_bus = "system"; // The Shairport Sync dbus interface, if selected at compilation, will appear
audio_backend_buffer_interpolation_threshold_in_seconds = 0.075; // Advanced feature. If the buffer size drops below this, stop using time-consuming interpolation like soxr to avoid dropouts due to underrun.
default_airplay_volume = -20.0;
high_threshold_airplay_volume = -30.0;
high_volume_idle_timeout_in_minutes = 10;
};
sessioncontrol =
{
run_this_before_entering_active_state = "/bin/bash /MiCROLABS-SCRIPTS/p5_audio_start.sh"; // make sure the application has executable permission. If it's a script, include the shebang (#!/bin/...) on the first line
run_this_after_exiting_active_state = "/bin/bash /MiCROLABS-SCRIPTS/p5_audio_stop.sh"; // make sure the application has executable permission. If it's a script, include the shebang (#!/bin/...) on the first line
active_state_timeout = 50.0; // wait for this number of seconds after play ends before leaving the active state, unless another play session begins.
allow_session_interruption = "yes"; // set to "yes" to allow another device to interrupt Shairport Sync while it's playing from an existing audio source
session_timeout = 300; // wait for this number of seconds after a source disappears before terminating the session and becoming available again.
};
alsa =
{
output_device = "default"; // the name of the alsa output device. Use "shairport-sync -h" to discover the names of ALSA hardware devices. Use "alsamixer" or "aplay" to find out the names of devices, mixers, etc.
};
jack =
{
client_name = "shairport-sync"; // Set this to the name of the client that should appear in "Connections" when Shairport Sync is active.
autoconnect_pattern = "system:playback_[12]"; // Set this to a POSIX regular expression pattern that describes the ports you would like to connect to
soxr_resample_quality = "quick"; // Enable resampling by setting this to "very high", "high", "medium", "low" or "quick"
};
dsp =
{
loudness = "yes"; // Set this to "yes" to activate the loudness filter
loudness_reference_volume_db = -18.0; // Above this level the filter will have no effect anymore. Below this level it will gradually boost the low frequencies.
};
metadata =
{
};
diagnostics =
{
log_verbosity = 0; // "0" means no debug verbosity, "3" is most verbose.
log_output_to = "syslog";
};```
I am using jack rodeo backend (I think), custom compiled
Thanks. And what about the sound server in the Pi? If it has a GUI, it has a sound server...
hmm... good point! I guess you are talking about alsa 😅 so maybe the 44.1 to 48kHz conversion could be causing this?
cat .asoundrc ����������������
pcm.!default
{
type plug
slave sl1
}
ctl.!default
{
type hw
card pisound
}
pcm_slave.sl1
{
pcm "hw:pisound"
format S16_LE
channels 2
rate 48000
}
pcm_slave.pisound
{
pcm "hw:pisound"
rate 48000
}
Thanks. What I'm trying to discover is whether PipeWire or PulseAudio are running. If they are, they can interfere with Shairport Sync.
To see if PulseAudio is running, enter:
$ pact
and if it's not installed, we can reasonably conclude that PulseAudio is not running. If something comes back, please post it here.
To see if PipeWire is running, enter:
$ pw-mon
and again, if it generates a response, please post it here...
pact 21:02
zsh: correct 'pact' to 'pactl' [nyae]? n
zsh: command not found: pact
~/
pw-mon 21:02
type: PipeWire:Interface:Core
cookie: 2092503645
user-name: "jan"
host-name: "MICROLABS-P5"
version: "0.3.65"
name: "pipewire-0"
* properties:
* config.name = "pipewire.conf"
* link.max-buffers = "16"
* core.daemon = "true"
* core.name = "pipewire-0"
* default.clock.min-quantum = "16"
* cpu.max-align = "16"
* default.clock.rate = "48000"
* default.clock.quantum = "1024"
* default.clock.max-quantum = "2048"
* default.clock.quantum-limit = "8192"
* default.video.width = "640"
* default.video.height = "480"
* default.video.rate.num = "25"
* default.video.rate.denom = "1"
* log.level = "2"
* clock.power-of-two-quantum = "true"
* mem.warn-mlock = "false"
* mem.allow-mlock = "true"
* settings.check-quantum = "false"
* settings.check-rate = "false"
* object.id = "0"
* object.serial = "0"
added:
id: 0
permissions: rwxm
type: PipeWire:Interface:Core (version 3)
properties:
object.serial = "0"
core.name = "pipewire-0"
added:
id: 4
permissions: rwxm
type: PipeWire:Interface:Profiler (version 3)
properties:
object.serial = "4"
added:
id: 30
permissions: rwxm
type: PipeWire:Interface:Metadata (version 3)
properties:
object.serial = "30"
metadata.name = "settings"
added:
id: 35
permissions: rwxm
type: PipeWire:Interface:Metadata (version 3)
properties:
factory.id = "6"
module.id = "5"
metadata.name = "default"
client.id = "33"
object.serial = "35"
added:
id: 36
permissions: rwxm
type: PipeWire:Interface:Metadata (version 3)
properties:
metadata.name = "route-settings"
factory.id = "6"
module.id = "5"
client.id = "33"
object.serial = "36"
added:
id: 1
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-rt"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-rt.so"
args: "{
nice.level = -11
#rt.prio = 88
#rt.time.soft = -1
#rt.time.hard = -1
}"
properties:
module.name = "libpipewire-module-rt"
object.id = "1"
object.serial = "1"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Use realtime thread scheduling, falling back to RTKit"
module.usage = "[nice.level=<priority: default 20(don't change)>] [rt.prio=<priority: default 88>] [rt.time.soft=<in usec: default -1] [rt.time.hard=<in usec: default -1] "
module.version = "0.3.65"
nice.level = "-11"
added:
id: 2
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-protocol-native"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so"
args: "(null)"
properties:
module.name = "libpipewire-module-protocol-native"
object.id = "2"
object.serial = "2"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Native protocol using unix sockets"
module.version = "0.3.65"
added:
id: 3
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-profiler"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-profiler.so"
args: "(null)"
properties:
module.name = "libpipewire-module-profiler"
object.id = "3"
object.serial = "3"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Generate Profiling data"
module.version = "0.3.65"
added:
id: 5
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-metadata"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-metadata.so"
args: "(null)"
properties:
module.name = "libpipewire-module-metadata"
object.id = "5"
object.serial = "5"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Allow clients to create metadata store"
module.version = "0.3.65"
added:
id: 6
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "metadata"
object-type: PipeWire:Interface:Metadata/3
properties:
module.id = "5"
object.id = "6"
object.serial = "6"
factory.name = "metadata"
factory.type.name = "PipeWire:Interface:Metadata"
factory.type.version = "3"
added:
id: 7
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-spa-device-factory"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-spa-device-factory.so"
args: "(null)"
properties:
module.name = "libpipewire-module-spa-device-factory"
object.id = "7"
object.serial = "7"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Provide a factory to make SPA devices"
module.version = "0.3.65"
added:
id: 8
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "spa-device-factory"
object-type: PipeWire:Interface:Device/3
properties:
module.id = "7"
object.id = "8"
object.serial = "8"
factory.name = "spa-device-factory"
factory.type.name = "PipeWire:Interface:Device"
factory.type.version = "3"
added:
id: 9
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-spa-node-factory"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-spa-node-factory.so"
args: "(null)"
properties:
module.name = "libpipewire-module-spa-node-factory"
object.id = "9"
object.serial = "9"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Provide a factory to make SPA nodes"
module.version = "0.3.65"
added:
id: 10
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "spa-node-factory"
object-type: PipeWire:Interface:Node/3
properties:
module.id = "9"
object.id = "10"
object.serial = "10"
factory.name = "spa-node-factory"
factory.type.name = "PipeWire:Interface:Node"
factory.type.version = "3"
added:
id: 11
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-client-node"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so"
args: "(null)"
properties:
module.name = "libpipewire-module-client-node"
object.id = "11"
object.serial = "11"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Allow clients to create and control remote nodes"
module.version = "0.3.65"
added:
id: 12
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "client-node"
object-type: PipeWire:Interface:ClientNode/4
properties:
module.id = "11"
object.id = "12"
object.serial = "12"
factory.name = "client-node"
factory.type.name = "PipeWire:Interface:ClientNode"
factory.type.version = "4"
added:
id: 13
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-client-device"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-client-device.so"
args: "(null)"
properties:
module.name = "libpipewire-module-client-device"
object.id = "13"
object.serial = "13"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Allow clients to create and control remote devices"
module.version = "0.3.65"
added:
id: 14
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "client-device"
object-type: Spa:Pointer:Interface:Device/0
properties:
factory.usage = "[device.name=<string>]"
module.id = "13"
object.id = "14"
object.serial = "14"
factory.name = "client-device"
factory.type.name = "Spa:Pointer:Interface:Device"
factory.type.version = "0"
added:
id: 15
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-portal"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-portal.so"
args: "(null)"
properties:
module.name = "libpipewire-module-portal"
object.id = "15"
object.serial = "15"
added:
id: 16
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-access"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-access.so"
args: "{
# access.allowed to list an array of paths of allowed
# apps.
#access.allowed = [
# /usr/bin/pipewire-media-session
#]
# An array of rejected paths.
#access.rejected = [ ]
# An array of paths with restricted access.
#access.restricted = [ ]
# Anything not in the above lists gets assigned the
# access.force permission.
#access.force = flatpak
}"
properties:
module.name = "libpipewire-module-access"
object.id = "16"
object.serial = "16"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Perform access check"
module.usage = "[ access.force=flatpak ] [ access.allowed=<cmd-line> ] [ access.rejected=<cmd-line> ] [ access.restricted=<cmd-line> ] "
module.version = "0.3.65"
added:
id: 17
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-adapter"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-adapter.so"
args: "(null)"
properties:
module.name = "libpipewire-module-adapter"
object.id = "17"
object.serial = "17"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Manage adapter nodes"
module.version = "0.3.65"
added:
id: 18
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "adapter"
object-type: PipeWire:Interface:Node/3
properties:
factory.usage = "factory.name=<factory-name> [library.name=<library-name>] node.name=<string> "
module.id = "17"
object.id = "18"
object.serial = "18"
factory.name = "adapter"
factory.type.name = "PipeWire:Interface:Node"
factory.type.version = "3"
added:
id: 19
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-link-factory"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-link-factory.so"
args: "(null)"
properties:
module.name = "libpipewire-module-link-factory"
object.id = "19"
object.serial = "19"
module.author = "Wim Taymans <wim.taymans@gmail.com>"
module.description = "Allow clients to create links"
module.version = "0.3.65"
added:
id: 20
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "link-factory"
object-type: PipeWire:Interface:Link/3
properties:
factory.usage = "link.output.node=<output-node> [link.output.port=<output-port>] link.input.node=<input-node> [link.input.port=<input-port>] [object.linger=<bool>] [link.passive=<bool>]"
module.id = "19"
object.id = "20"
object.serial = "20"
factory.name = "link-factory"
factory.type.name = "PipeWire:Interface:Link"
factory.type.version = "3"
added:
id: 21
permissions: rwxm
type: PipeWire:Interface:Module (version 3)
name: "libpipewire-module-session-manager"
filename: "/usr/lib/aarch64-linux-gnu/pipewire-0.3/libpipewire-module-session-manager.so"
args: "(null)"
properties:
module.name = "libpipewire-module-session-manager"
object.id = "21"
object.serial = "21"
module.author = "George Kiagiadakis <george.kiagiadakis@collabora.com>"
module.description = "Implements objects for session management"
module.version = "0.3.65"
added:
id: 22
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "client-endpoint"
object-type: PipeWire:Interface:ClientEndpoint/0
properties:
module.id = "21"
object.id = "22"
object.serial = "22"
factory.name = "client-endpoint"
factory.type.name = "PipeWire:Interface:ClientEndpoint"
factory.type.version = "0"
added:
id: 23
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "client-session"
object-type: PipeWire:Interface:ClientSession/0
properties:
module.id = "21"
object.id = "23"
object.serial = "23"
factory.name = "client-session"
factory.type.name = "PipeWire:Interface:ClientSession"
factory.type.version = "0"
added:
id: 24
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "session"
object-type: PipeWire:Interface:Session/0
properties:
module.id = "21"
object.id = "24"
object.serial = "24"
factory.name = "session"
factory.type.name = "PipeWire:Interface:Session"
factory.type.version = "0"
added:
id: 25
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "endpoint"
object-type: PipeWire:Interface:Endpoint/0
properties:
module.id = "21"
object.id = "25"
object.serial = "25"
factory.name = "endpoint"
factory.type.name = "PipeWire:Interface:Endpoint"
factory.type.version = "0"
added:
id: 26
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "endpoint-stream"
object-type: PipeWire:Interface:EndpointStream/0
properties:
module.id = "21"
object.id = "26"
object.serial = "26"
factory.name = "endpoint-stream"
factory.type.name = "PipeWire:Interface:EndpointStream"
factory.type.version = "0"
added:
id: 27
permissions: rwxm
type: PipeWire:Interface:Factory (version 3)
name: "endpoint-link"
object-type: PipeWire:Interface:EndpointLink/0
properties:
module.id = "21"
object.id = "27"
object.serial = "27"
factory.name = "endpoint-link"
factory.type.name = "PipeWire:Interface:EndpointLink"
factory.type.version = "0"
added:
id: 31
permissions: rwxm
type: PipeWire:Interface:Client (version 3)
properties:
pipewire.protocol = "protocol-native"
pipewire.sec.pid = "2022"
pipewire.sec.uid = "1000"
pipewire.sec.gid = "1000"
module.id = "2"
object.id = "31"
object.serial = "31"
config.name = "pipewire-pulse.conf"
cpu.max-align = "16"
default.clock.rate = "48000"
default.clock.quantum = "1024"
default.clock.min-quantum = "32"
default.clock.max-quantum = "2048"
default.clock.quantum-limit = "8192"
default.video.width = "640"
default.video.height = "480"
default.video.rate.num = "25"
default.video.rate.denom = "1"
log.level = "2"
clock.power-of-two-quantum = "true"
link.max-buffers = "64"
mem.warn-mlock = "false"
mem.allow-mlock = "true"
settings.check-quantum = "false"
settings.check-rate = "false"
application.name = "pipewire"
application.process.binary = "pipewire"
application.language = "en_GB.UTF-8"
application.process.id = "2022"
application.process.user = "jan"
application.process.host = "MICROLABS-P5"
core.version = "0.3.65"
core.name = "pipewire-jan-2022"
pipewire.access = "unrestricted"
added:
id: 33
permissions: rwxm
type: PipeWire:Interface:Client (version 3)
properties:
pipewire.protocol = "protocol-native"
pipewire.sec.pid = "2021"
pipewire.sec.uid = "1000"
pipewire.sec.gid = "1000"
module.id = "2"
object.id = "33"
object.serial = "33"
config.name = "/usr/share/wireplumber/wireplumber.conf"
application.name = "WirePlumber"
wireplumber.daemon = "true"
wireplumber.export-core = "true"
log.level = "2"
wireplumber.script-engine = "lua-scripting"
cpu.max-align = "16"
default.clock.rate = "48000"
default.clock.quantum = "1024"
default.clock.min-quantum = "32"
default.clock.max-quantum = "2048"
default.clock.quantum-limit = "8192"
default.video.width = "640"
default.video.height = "480"
default.video.rate.num = "25"
default.video.rate.denom = "1"
clock.power-of-two-quantum = "true"
link.max-buffers = "64"
mem.warn-mlock = "false"
mem.allow-mlock = "true"
settings.check-quantum = "false"
settings.check-rate = "false"
application.process.binary = "wireplumber"
application.language = "en_GB.UTF-8"
application.process.id = "2021"
application.process.user = "jan"
application.process.host = "MICROLABS-P5"
core.version = "0.3.65"
core.name = "pipewire-jan-2021"
pipewire.access = "unrestricted"
added:
id: 34
permissions: rwxm
type: PipeWire:Interface:Client (version 3)
properties:
pipewire.protocol = "protocol-native"
pipewire.sec.pid = "2021"
pipewire.sec.uid = "1000"
pipewire.sec.gid = "1000"
module.id = "2"
object.id = "34"
object.serial = "34"
application.name = "WirePlumber [export]"
config.name = "/usr/share/wireplumber/wireplumber.conf"
wireplumber.daemon = "true"
wireplumber.export-core = "true"
log.level = "2"
wireplumber.script-engine = "lua-scripting"
cpu.max-align = "16"
default.clock.rate = "48000"
default.clock.quantum = "1024"
default.clock.min-quantum = "32"
default.clock.max-quantum = "2048"
default.clock.quantum-limit = "8192"
default.video.width = "640"
default.video.height = "480"
default.video.rate.num = "25"
default.video.rate.denom = "1"
clock.power-of-two-quantum = "true"
link.max-buffers = "64"
mem.warn-mlock = "false"
mem.allow-mlock = "true"
settings.check-quantum = "false"
settings.check-rate = "false"
application.process.binary = "wireplumber"
application.language = "en_GB.UTF-8"
application.process.id = "2021"
application.process.user = "jan"
application.process.host = "MICROLABS-P5"
core.version = "0.3.65"
core.name = "pipewire-jan-2021"
pipewire.access = "unrestricted"
added:
id: 65
permissions: rwxm
type: PipeWire:Interface:Client (version 3)
properties:
pipewire.protocol = "protocol-native"
pipewire.sec.pid = "3282"
pipewire.sec.uid = "1000"
pipewire.sec.gid = "1000"
module.id = "2"
object.id = "65"
object.serial = "65"
log.level = "0"
cpu.max-align = "16"
default.clock.rate = "48000"
default.clock.quantum = "1024"
default.clock.min-quantum = "32"
default.clock.max-quantum = "2048"
default.clock.quantum-limit = "8192"
default.video.width = "640"
default.video.height = "480"
default.video.rate.num = "25"
default.video.rate.denom = "1"
clock.power-of-two-quantum = "true"
link.max-buffers = "64"
mem.warn-mlock = "false"
mem.allow-mlock = "true"
settings.check-quantum = "false"
settings.check-rate = "false"
application.name = "pw-mon"
application.process.binary = "pw-mon"
application.language = "en_GB.UTF-8"
application.process.id = "3282"
application.process.user = "jan"
application.process.host = "MICROLABS-P5"
application.process.session-id = "5"
core.version = "0.3.65"
core.name = "pipewire-jan-3282"
pipewire.access = "unrestricted"
added:
id: 28
permissions: rwxm
type: PipeWire:Interface:Node (version 3)
params:
input ports: 0/0
output ports: 0/0
state: "suspended"
properties:
factory.name = "support.node.driver"
node.name = "Dummy-Driver"
node.group = "pipewire.dummy"
priority.driver = "20000"
factory.id = "10"
clock.quantum-limit = "8192"
node.driver = "true"
object.id = "28"
object.serial = "28"
added:
id: 29
permissions: rwxm
type: PipeWire:Interface:Node (version 3)
params:
input ports: 0/0
output ports: 0/0
state: "suspended"
properties:
factory.name = "support.node.driver"
node.name = "Freewheel-Driver"
priority.driver = "19000"
node.group = "pipewire.freewheel"
node.freewheel = "true"
factory.id = "10"
clock.quantum-limit = "8192"
node.driver = "true"
object.id = "29"
object.serial = "29"
added:
id: 32
permissions: rwxm
type: PipeWire:Interface:Node (version 3)
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
audio/raw
format : (Id) { F32P, F32LE }
rate : (Int) 48000
channels : (Int) 2
position : (Array) < FL, FR >
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 104, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65539 (Spa:Pod:Object:Param:Props:volume)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Volume"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 1.000000
Float 0.000000
Float 10.000000
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 104, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65540 (Spa:Pod:Object:Param:Props:mute)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Mute"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 136, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65544 (Spa:Pod:Object:Param:Props:channelVolumes)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Channel Volumes"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 1.000000
Float 0.000000
Float 10.000000
Prop: key Spa:Pod:Object:Param:PropInfo:container (5), flags 00000000
Id 13 (Spa:Array)
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 112, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65547 (Spa:Pod:Object:Param:Props:channelMap)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Channel Map"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Id 0 (Spa:)
Prop: key Spa:Pod:Object:Param:PropInfo:container (5), flags 00000000
Id 13 (Spa:Array)
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 112, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65548 (Spa:Pod:Object:Param:Props:monitorMute)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Monitor Mute"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 136, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65549 (Spa:Pod:Object:Param:Props:monitorVolumes)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Monitor Volumes"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 1.000000
Float 0.000000
Float 10.000000
Prop: key Spa:Pod:Object:Param:PropInfo:container (5), flags 00000000
Id 13 (Spa:Array)
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 112, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65551 (Spa:Pod:Object:Param:Props:softMute)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Soft Mute"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 136, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 65552 (Spa:Pod:Object:Param:Props:softVolumes)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Soft Volumes"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 1.000000
Float 0.000000
Float 10.000000
Prop: key Spa:Pod:Object:Param:PropInfo:container (5), flags 00000000
Id 13 (Spa:Array)
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 160, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "monitor.channel-volumes"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Monitor channel volume"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool true
Bool true
Bool false
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 160, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.disable"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Disable Channel mixing"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 160, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.normalize"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Normalize Volumes"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 160, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.mix-lfe"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Mix LFE into channels"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool true
Bool true
Bool false
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 152, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.upmix"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Enable upmixing"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool true
Bool true
Bool false
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 160, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.lfe-cutoff"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "LFE cutoff frequency"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 150.000000
Float 0.000000
Float 1000.000000
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 168, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.fc-cutoff"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "FC cutoff frequency (Hz)"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 12000.000000
Float 0.000000
Float 48000.000000
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 168, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.rear-delay"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Rear channels delay (ms)"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 12.000000
Float 0.000000
Float 1000.000000
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 152, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.stereo-widen"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Stereo widen"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Float 0.000000
Float 0.000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 168, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.hilbert-taps"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Taps for phase shift of rear"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Int 0
Int 0
Int 255
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 288, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "channelmix.upmix-method"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Upmix method to use"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
String "psd"
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
Prop: key Spa:Pod:Object:Param:PropInfo:labels (4), flags 00000000
Struct: size 136
String "none"
String "Disabled"
String "simple"
String "Simple upmixing"
String "psd"
String "Passive Surround Decoding"
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 120, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 268 (Spa:Pod:Object:Param:Props:rate)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Rate scaler"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 40 8
Double 1.000000
Double 0.000000
Double 10.000000
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 184, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 269 (Spa:Pod:Object:Param:Props:quality)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "resample.quality"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Resample Quality"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Int 4
Int 0
Int 14
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 160, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "resample.disable"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Disable Resampling"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 144, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "dither.noise"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "Add noise bits"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4
Int 0
Int 0
Int 16
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 464, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:name (2), flags 00000000
String "dither.method"
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "The dithering method"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
String "none"
Prop: key Spa:Pod:Object:Param:PropInfo:params (6), flags 00000000
Bool true
Prop: key Spa:Pod:Object:Param:PropInfo:labels (4), flags 00000000
Struct: size 320
String "none"
String "Disabled"
String "rectangular"
String "Rectangular dithering"
String "triangular"
String "Triangular dithering"
String "triangular-hf"
String "Sloped Triangular dithering"
String "wannamaker3"
String "Wannamaker 3 dithering"
String "shaped5"
String "Lipshitz 5 dithering"
* id:2 (Spa:Enum:ParamId:Props)
Object: size 952, type Spa:Pod:Object:Param:Props (262146), id Spa:Enum:ParamId:Props (2)
Prop: key Spa:Pod:Object:Param:Props:volume (65539), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Props:mute (65540), flags 00000000
Bool false
Prop: key Spa:Pod:Object:Param:Props:channelVolumes (65544), flags 00000000
Array: child.size 4, child.type Spa:Float
Float 1.000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Props:channelMap (65547), flags 00000000
Array: child.size 4, child.type Spa:Id
Id 3 (Spa:Enum:AudioChannel:FL)
Id 4 (Spa:Enum:AudioChannel:FR)
Prop: key Spa:Pod:Object:Param:Props:softMute (65551), flags 00000000
Bool false
Prop: key Spa:Pod:Object:Param:Props:softVolumes (65552), flags 00000000
Array: child.size 4, child.type Spa:Float
Float 1.000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Props:monitorMute (65548), flags 00000000
Bool false
Prop: key Spa:Pod:Object:Param:Props:monitorVolumes (65549), flags 00000000
Array: child.size 4, child.type Spa:Float
Float 1.000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Props:params (524289), flags 00000000
Struct: size 704
String "monitor.channel-volumes"
Bool true
String "channelmix.disable"
Bool false
String "channelmix.normalize"
Bool false
String "channelmix.mix-lfe"
Bool true
String "channelmix.upmix"
Bool true
String "channelmix.lfe-cutoff"
Float 150.000000
String "channelmix.fc-cutoff"
Float 12000.000000
String "channelmix.rear-delay"
Float 12.000000
String "channelmix.stereo-widen"
Float 0.000000
String "channelmix.hilbert-taps"
Int 0
String "channelmix.upmix-method"
String "psd"
String "resample.quality"
Int 4
String "resample.disable"
Bool false
String "dither.noise"
Int 0
String "dither.method"
String "none"
* id:10 (Spa:Enum:ParamId:EnumPortConfig)
Object: size 192, type Spa:Pod:Object:Param:PortConfig (262152), id Spa:Enum:ParamId:EnumPortConfig (10)
Prop: key Spa:Pod:Object:Param:PortConfig:direction (1), flags 00000000
Choice: type Spa:Enum:Choice:None, flags 00000000 20 4
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:PortConfig:mode (2), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 32 4
Id 0 (Spa:Enum:ParamPortConfigMode:none)
Id 0 (Spa:Enum:ParamPortConfigMode:none)
Id 3 (Spa:Enum:ParamPortConfigMode:dsp)
Id 2 (Spa:Enum:ParamPortConfigMode:convert)
Prop: key Spa:Pod:Object:Param:PortConfig:monitor (3), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
Prop: key Spa:Pod:Object:Param:PortConfig:control (4), flags 00000000
Choice: type Spa:Enum:Choice:Enum, flags 00000000 28 4
Bool false
Bool false
Bool true
* id:11 (Spa:Enum:ParamId:PortConfig)
Object: size 272, type Spa:Pod:Object:Param:PortConfig (262152), id Spa:Enum:ParamId:PortConfig (11)
Prop: key Spa:Pod:Object:Param:PortConfig:direction (1), flags 00000000
Choice: type Spa:Enum:Choice:None, flags 00000000 20 4
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:PortConfig:mode (2), flags 00000000
Id 3 (Spa:Enum:ParamPortConfigMode:dsp)
Prop: key Spa:Pod:Object:Param:PortConfig:monitor (3), flags 00000000
Bool true
Prop: key Spa:Pod:Object:Param:PortConfig:control (4), flags 00000000
Bool false
Prop: key Spa:Pod:Object:Param:PortConfig:format (5), flags 00000000
Object: size 136, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:Buffers (5)
Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000
Id 1 (Spa:Enum:MediaType:audio)
Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000
Id 1 (Spa:Enum:MediaSubtype:raw)
Prop: key Spa:Pod:Object:Param:Format:Audio:format (65537), flags 00000000
Id 518 (Spa:Enum:AudioFormat:F32P)
Prop: key Spa:Pod:Object:Param:Format:Audio:channels (65540), flags 00000000
Int 2
Prop: key Spa:Pod:Object:Param:Format:Audio:position (65541), flags 00000000
Array: child.size 4, child.type Spa:Id
Id 3 (Spa:Enum:AudioChannel:FL)
Id 4 (Spa:Enum:AudioChannel:FR)
input ports: 2/65
output ports: 2/0
state: "suspended"
properties:
node.name = "auto_null"
node.description = "Dummy Output"
audio.rate = "48000"
audio.channels = "2"
audio.position = "FL,FR"
media.class = "Audio/Sink"
factory.name = "support.null-audio-sink"
node.virtual = "true"
monitor.channel-volumes = "true"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "31"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "32"
object.serial = "32"
added:
id: 37
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "input"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
audio/dsp
format : (Id) F32P
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "32 bit float mono audio"
audio.channel = "FL"
port.id = "0"
port.physical = "true"
port.terminal = "true"
object.path = "Dummy Output:playback_0"
port.name = "playback_FL"
port.alias = "Dummy Output:playback_FL"
port.direction = "in"
node.id = "32"
object.id = "37"
object.serial = "37"
added:
id: 38
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "output"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
audio/dsp
format : (Id) F32P
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "32 bit float mono audio"
audio.channel = "FL"
port.monitor = "true"
port.id = "0"
object.path = "Dummy Output:monitor_0"
port.name = "monitor_FL"
port.alias = "Dummy Output:monitor_FL"
port.direction = "out"
node.id = "32"
object.id = "38"
object.serial = "38"
added:
id: 39
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "input"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
audio/dsp
format : (Id) F32P
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "32 bit float mono audio"
audio.channel = "FR"
port.id = "1"
port.physical = "true"
port.terminal = "true"
object.path = "Dummy Output:playback_1"
port.name = "playback_FR"
port.alias = "Dummy Output:playback_FR"
port.direction = "in"
node.id = "32"
object.id = "39"
object.serial = "39"
added:
id: 40
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "output"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
audio/dsp
format : (Id) F32P
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "32 bit float mono audio"
audio.channel = "FR"
port.monitor = "true"
port.id = "1"
object.path = "Dummy Output:monitor_1"
port.name = "monitor_FR"
port.alias = "Dummy Output:monitor_FR"
port.direction = "out"
node.id = "32"
object.id = "40"
object.serial = "40"
added:
id: 41
permissions: rwxm
type: PipeWire:Interface:Node (version 3)
params:
* id:1 (Spa:Enum:ParamId:PropInfo)
Object: size 152, type Spa:Pod:Object:Param:PropInfo (262145), id Spa:Enum:ParamId:PropInfo (1)
Prop: key Spa:Pod:Object:Param:PropInfo:id (1), flags 00000000
Id 257 (Spa:Pod:Object:Param:Props:device)
Prop: key Spa:Pod:Object:Param:PropInfo:description (7), flags 00000000
String "The ALSA device"
Prop: key Spa:Pod:Object:Param:PropInfo:type (3), flags 00000000
String "default"
* id:2 (Spa:Enum:ParamId:Props)
Object: size 96, type Spa:Pod:Object:Param:Props (262146), id Spa:Enum:ParamId:Props (2)
Prop: key Spa:Pod:Object:Param:Props:device (257), flags 00000000
String "default"
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 3 (Spa:Enum:IO:Clock)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 160
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 7 (Spa:Enum:IO:Position)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 1688
input ports: 2/256
output ports: 2/256
state: "suspended"
properties:
factory.name = "api.alsa.seq.bridge"
node.name = "Midi-Bridge"
factory.id = "10"
client.id = "34"
clock.quantum-limit = "8192"
device.api = "alsa"
media.class = "Midi/Bridge"
node.driver = "true"
object.id = "41"
object.serial = "41"
added:
id: 42
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "input"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
application/control
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "8 bit raw midi"
object.path = "alsa:seq:default:client_14:playback_0"
port.name = "Midi Through:(playback_0) Midi Through Port-0"
port.alias = "Midi Through:Midi Through Port-0"
port.id = "0"
port.physical = "true"
port.terminal = "true"
port.direction = "in"
node.id = "41"
object.id = "42"
object.serial = "42"
added:
id: 43
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "input"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
application/control
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "8 bit raw midi"
object.path = "alsa:seq:default:client_16:playback_0"
port.name = "pisound:(playback_0) pisound MIDI PS-3ZAP7QN"
port.alias = "pisound:pisound MIDI PS-3ZAP7QN"
api.alsa.card = "0"
port.id = "1"
port.physical = "true"
port.terminal = "true"
port.direction = "in"
node.id = "41"
object.id = "43"
object.serial = "43"
added:
id: 44
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "output"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
application/control
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "8 bit raw midi"
object.path = "alsa:seq:default:client_14:capture_0"
port.name = "Midi Through:(capture_0) Midi Through Port-0"
port.alias = "Midi Through:Midi Through Port-0"
port.id = "0"
port.physical = "true"
port.terminal = "true"
port.direction = "out"
node.id = "41"
object.id = "44"
object.serial = "44"
added:
id: 45
permissions: rwxm
type: PipeWire:Interface:Port (version 3)
direction: "output"
params:
* id:3 (Spa:Enum:ParamId:EnumFormat)
application/control
* id:6 (Spa:Enum:ParamId:Meta)
Object: size 56, type Spa:Pod:Object:Param:Meta (262149), id Spa:Enum:ParamId:Meta (6)
Prop: key Spa:Pod:Object:Param:Meta:type (1), flags 00000000
Id 1 (Spa:Pointer:Meta:Header)
Prop: key Spa:Pod:Object:Param:Meta:size (2), flags 00000000
Int 32
* id:7 (Spa:Enum:ParamId:IO)
Object: size 56, type Spa:Pod:Object:Param:IO (262150), id Spa:Enum:ParamId:IO (7)
Prop: key Spa:Pod:Object:Param:IO:id (1), flags 00000000
Id 1 (Spa:Enum:IO:Buffers)
Prop: key Spa:Pod:Object:Param:IO:size (2), flags 00000000
Int 8
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 0 (Spa:Enum:Direction:Input)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 0.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
* id:15 (Spa:Enum:ParamId:Latency)
Object: size 176, type Spa:Pod:Object:Param:Latency (262155), id Spa:Enum:ParamId:Latency (15)
Prop: key Spa:Pod:Object:Param:Latency:direction (1), flags 00000000
Id 1 (Spa:Enum:Direction:Output)
Prop: key Spa:Pod:Object:Param:Latency:minQuantum (2), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:maxQuantum (3), flags 00000000
Float 1.000000
Prop: key Spa:Pod:Object:Param:Latency:minRate (4), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:maxRate (5), flags 00000000
Int 0
Prop: key Spa:Pod:Object:Param:Latency:minNs (6), flags 00000000
Long 0
Prop: key Spa:Pod:Object:Param:Latency:maxNs (7), flags 00000000
Long 0
properties:
format.dsp = "8 bit raw midi"
object.path = "alsa:seq:default:client_16:capture_0"
port.name = "pisound:(capture_0) pisound MIDI PS-3ZAP7QN"
port.alias = "pisound:pisound MIDI PS-3ZAP7QN"
api.alsa.card = "0"
port.id = "1"
port.physical = "true"
port.terminal = "true"
port.direction = "out"
node.id = "41"
object.id = "45"
object.serial = "45"
added:
id: 46
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video19"
device.api = "v4l2"
device.bus-path = "platform-1000800000.codec"
device.capabilities = ":"
device.description = "rpivid"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000800000.codec"
device.plugged.usec = "5595368"
device.product.name = "rpivid"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000800000.codec/video4linux/video19"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "46"
object.serial = "46"
object.path = "v4l2:/dev/video19"
api.v4l2.cap.driver = "rpivid"
api.v4l2.cap.card = "rpivid"
api.v4l2.cap.bus_info = "platform:rpivid"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "84204000"
api.v4l2.cap.device-caps = "04204000"
added:
id: 47
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video20"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":video_output:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be"
device.plugged.usec = "5596918"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video20"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "47"
object.serial = "47"
object.path = "v4l2:/dev/video20"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04202000"
added:
id: 48
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video21"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":video_output:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.2"
device.plugged.usec = "5595773"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video21"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "48"
object.serial = "48"
object.path = "v4l2:/dev/video21"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04202000"
added:
id: 49
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video22"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":video_output:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.3"
device.plugged.usec = "5600938"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video22"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "49"
object.serial = "49"
object.path = "v4l2:/dev/video22"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04202000"
added:
id: 50
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video23"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.4"
device.plugged.usec = "5595766"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video23"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "50"
object.serial = "50"
object.path = "v4l2:/dev/video23"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04a00000"
added:
id: 51
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video24"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.5"
device.plugged.usec = "5623975"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video24"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "51"
object.serial = "51"
object.path = "v4l2:/dev/video24"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 52
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video25"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.6"
device.plugged.usec = "5614765"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video25"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "52"
object.serial = "52"
object.path = "v4l2:/dev/video25"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 53
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video26"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.7"
device.plugged.usec = "5599975"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video26"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "53"
object.serial = "53"
object.path = "v4l2:/dev/video26"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 54
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video27"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.8"
device.plugged.usec = "5599977"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video27"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "54"
object.serial = "54"
object.path = "v4l2:/dev/video27"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 55
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video28"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.9"
device.plugged.usec = "5600959"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video28"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "55"
object.serial = "55"
object.path = "v4l2:/dev/video28"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "0c200000"
added:
id: 56
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video29"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":video_output:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.10"
device.plugged.usec = "5603507"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video29"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "56"
object.serial = "56"
object.path = "v4l2:/dev/video29"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04202000"
added:
id: 57
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video30"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":video_output:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.11"
device.plugged.usec = "5626524"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video30"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "57"
object.serial = "57"
object.path = "v4l2:/dev/video30"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04202000"
added:
id: 58
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video31"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":video_output:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.12"
device.plugged.usec = "5626431"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video31"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "58"
object.serial = "58"
object.path = "v4l2:/dev/video31"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04202000"
added:
id: 59
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video32"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.13"
device.plugged.usec = "5628645"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video32"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "59"
object.serial = "59"
object.path = "v4l2:/dev/video32"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04a00000"
added:
id: 60
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video33"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.14"
device.plugged.usec = "5631126"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video33"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "60"
object.serial = "60"
object.path = "v4l2:/dev/video33"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 61
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video34"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.15"
device.plugged.usec = "5606952"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video34"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "61"
object.serial = "61"
object.path = "v4l2:/dev/video34"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 62
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video35"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.16"
device.plugged.usec = "5609309"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video35"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "62"
object.serial = "62"
object.path = "v4l2:/dev/video35"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 63
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video36"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":capture:"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.17"
device.plugged.usec = "5616835"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video36"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "63"
object.serial = "63"
object.path = "v4l2:/dev/video36"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "04201000"
added:
id: 64
permissions: rwxm
type: PipeWire:Interface:Device (version 3)
params:
properties:
api.v4l2.path = "/dev/video37"
device.api = "v4l2"
device.bus-path = "platform-1000880000.pisp_be"
device.capabilities = ":"
device.description = "pispbe"
device.enum.api = "udev"
device.name = "v4l2_device.platform-1000880000.pisp_be.18"
device.plugged.usec = "5631739"
device.product.name = "pispbe"
device.subsystem = "video4linux"
device.sysfs.path = "/devices/platform/axi/1000880000.pisp_be/video4linux/video37"
media.class = "Video/Device"
factory.id = "14"
client.id = "34"
object.id = "64"
object.serial = "64"
object.path = "v4l2:/dev/video37"
api.v4l2.cap.driver = "pispbe"
api.v4l2.cap.card = "pispbe"
api.v4l2.cap.bus_info = "platform:1000880000.pisp_be"
api.v4l2.cap.version = "6.1.73"
api.v4l2.cap.capabilities = "8ca03000"
api.v4l2.cap.device-caps = "0c200000"
Thanks -- so you have PipeWire installed. Actually, the PipeWire backend of Shairport Sync is quite good now. Have you a special reason for using Jack?
Yeah... I mean I want to... but this jack setup was a few years to learn / build.
I have audio input on that DAC and librespot setup in jack ... and I am happy it works. I have no clue if I am proficient enough to switch to PipeWire. I think I tried it once... but since I am not using it I guess I have failed 🤪
Just thinking about this -- Shairport Sync's PipeWire backend was completely rebuilt some time ago and it pretty good now, and really pretty easy to use. I guess -- but don't know -- that Librespot's use of the Jack interface is bridged into PipeWire anyway.
Overall, therefore, it might not be too hard to experiment with using Shairport Sync's PipeWire backend without disturbing the Librespot setup. (Note that Shairport Sync's PipeWire backend is pw
. It is not pipe
, which is for a standard Unix pipe output.)
Yes, ... I will do a fresh system soon. This linux is completely misconfigured ... also ARM (RT ... for realtime) kernel etc. pp. ... built around low latency in JACK. There are a few threads about PW in the forum from  blokas labs / for pisound ... where nobody helped them .. so I figured it's work of a few days / weeks when I try it as well. I will definitely... thanks for coming back / rhinking about this!Am 04.08.2024 um 13:27 schrieb Mike Brady @.***>: Just thinking about this -- Shairport Sync's PipeWire backend was completely rebuilt some time ago and it pretty good now, and really pretty easy to use. I guess -- but don't know -- that Librespot's use of the Jack interface is bridged into PipeWire anyway. Overall, therefore, it might not be too hard to experiment with using Shairport Sync's PipeWire backend without disturbing the Librespot setup. (Note that Shairport Sync's PipeWire backend is pw. It is not pipe, which is for a standard Unix pipe output.)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>
removed 'audio_backend_buffer_desired_length_in_seconds' from my config and now it's gone! huray!
What happened?
Everytime a new connection is made the first bits come in chopped ... it stutters. I kinda always had this... but now I successively tried all out options (I had soxr best for a long time ... and dialed that down to fast and now tried basic instead of soxr). Anyhow... all options I tried show this phenomenon.
Can I try something else? Maybe I'm searching in the wrong spot?
Relevant log output
System Information.
Rpi 5 + Bookworm 6.1.0 aarch64 with jack2 + pisound DAC + nvme SSD
Configuration Information.
PulseAudio or PipeWire installed?
How did you install Shairport Sync?
Built from source
Check previous issues