Skip to content

Instantly share code, notes, and snippets.

@varesa
Created April 18, 2026 13:08
Show Gist options
  • Select an option

  • Save varesa/b01b41fa0bdfb17081e9cddf4e47efa5 to your computer and use it in GitHub Desktop.

Select an option

Save varesa/b01b41fa0bdfb17081e9cddf4e47efa5 to your computer and use it in GitHub Desktop.
[
{
"id": 0,
"type": "PipeWire:Interface:Core",
"version": 4,
"permissions": [ "r", "x", "m" ],
"info": {
"cookie": 3141838123,
"user-name": "streamserver",
"host-name": "streamserver2.idm.wappuradio.fi",
"version": "1.6.3",
"name": "pipewire-0",
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "pipewire",
"application.process.binary": "pipewire",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 29188,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"config.name": "pipewire.conf",
"core.daemon": true,
"core.name": "pipewire-0",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 1024,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 16,
"log.level": 3,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"object.id": 0,
"object.serial": 0,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 1,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-rt",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-rt.so",
"args": "{\n nice.level = -11\n rt.prio = 88\n #rt.time.soft = -1\n #rt.time.hard = -1\n #uclamp.min = 0\n #uclamp.max = 1024\n }",
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Use realtime thread scheduling, falling back to RTKit",
"module.name": "libpipewire-module-rt",
"module.usage": "( nice.level=<priority: default 20(don't change)> ) ( rt.prio=<priority: default 83> ) ( rt.time.soft=<in usec: default -1> ) ( rt.time.hard=<in usec: default -1> ) ( rlimits.enabled=<default true> ) ( rtportal.enabled=<default true> ) ( rtkit.enabled=<default true> ) ( uclamp.min=<default 0> ) ( uclamp.max=<default 1024> )",
"module.version": "1.6.3",
"nice.level": -11,
"object.id": 1,
"object.serial": 1,
"rt.prio": 88
}
}
},
{
"id": 3,
"type": "PipeWire:Interface:SecurityContext",
"version": 3,
"permissions": [ "r", "w", "x" ],
"props": {
"object.serial": 3
}
},
{
"id": 2,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-protocol-native",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-protocol-native.so",
"args": "{\n # List of server Unix sockets, and optionally permissions\n #sockets = [ { name = \"pipewire-0\" }, { name = \"pipewire-0-manager\" } ]\n }",
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Native protocol using unix sockets",
"module.name": "libpipewire-module-protocol-native",
"module.version": "1.6.3",
"object.id": 2,
"object.serial": 2
}
}
},
{
"id": 5,
"type": "PipeWire:Interface:Profiler",
"version": 3,
"permissions": [ "r" ],
"props": {
"object.serial": 5
}
},
{
"id": 4,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-profiler",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-profiler.so",
"args": "{\n #profile.interval.ms = 0\n }",
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Generate Profiling data",
"module.name": "libpipewire-module-profiler",
"module.usage": "( profile.interval.ms=<minimum interval for sampling data (in ms) ) ",
"module.version": "1.6.3",
"object.id": 4,
"object.serial": 4
}
}
},
{
"id": 6,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-metadata",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-metadata.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Allow clients to create metadata store",
"module.name": "libpipewire-module-metadata",
"module.version": "1.6.3",
"object.id": 6,
"object.serial": 6
}
}
},
{
"id": 7,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "metadata",
"type": "PipeWire:Interface:Metadata",
"version": 3,
"change-mask": [ "props" ],
"props": {
"factory.name": "metadata",
"factory.type.name": "PipeWire:Interface:Metadata",
"factory.type.version": 3,
"factory.usage": "(metadata.name = <name> ) (metadata.values = [ { ( id = <int> ) key = <string> ( type = <string> ) value = <json> } ... ] )",
"module.id": 6,
"object.id": 7,
"object.serial": 7
}
}
},
{
"id": 8,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-spa-device-factory",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-spa-device-factory.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Provide a factory to make SPA devices",
"module.name": "libpipewire-module-spa-device-factory",
"module.version": "1.6.3",
"object.id": 8,
"object.serial": 8
}
}
},
{
"id": 9,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "spa-device-factory",
"type": "PipeWire:Interface:Device",
"version": 3,
"change-mask": [ "props" ],
"props": {
"factory.name": "spa-device-factory",
"factory.type.name": "PipeWire:Interface:Device",
"factory.type.version": 3,
"module.id": 8,
"object.id": 9,
"object.serial": 9
}
}
},
{
"id": 10,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-spa-node-factory",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-spa-node-factory.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Provide a factory to make SPA nodes",
"module.name": "libpipewire-module-spa-node-factory",
"module.version": "1.6.3",
"object.id": 10,
"object.serial": 10
}
}
},
{
"id": 11,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "spa-node-factory",
"type": "PipeWire:Interface:Node",
"version": 3,
"change-mask": [ "props" ],
"props": {
"factory.name": "spa-node-factory",
"factory.type.name": "PipeWire:Interface:Node",
"factory.type.version": 3,
"module.id": 10,
"object.id": 11,
"object.serial": 11
}
}
},
{
"id": 12,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-client-node",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-node.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Allow clients to create and control remote nodes",
"module.name": "libpipewire-module-client-node",
"module.version": "1.6.3",
"object.id": 12,
"object.serial": 12
}
}
},
{
"id": 13,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "client-node",
"type": "PipeWire:Interface:ClientNode",
"version": 6,
"change-mask": [ "props" ],
"props": {
"factory.name": "client-node",
"factory.type.name": "PipeWire:Interface:ClientNode",
"factory.type.version": 6,
"module.id": 12,
"object.id": 13,
"object.serial": 13
}
}
},
{
"id": 14,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-client-device",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-client-device.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Allow clients to create and control remote devices",
"module.name": "libpipewire-module-client-device",
"module.version": "1.6.3",
"object.id": 14,
"object.serial": 14
}
}
},
{
"id": 15,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "client-device",
"type": "Spa:Pointer:Interface:Device",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "client-device",
"factory.type.name": "Spa:Pointer:Interface:Device",
"factory.type.version": 0,
"factory.usage": "[device.name=<string>]",
"module.id": 14,
"object.id": 15,
"object.serial": 15
}
}
},
{
"id": 16,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-portal",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-portal.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.name": "libpipewire-module-portal",
"object.id": 16,
"object.serial": 16
}
}
},
{
"id": 17,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-access",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-access.so",
"args": "{\n # Socket-specific access permissions\n #access.socket = { pipewire-0 = \"default\", pipewire-0-manager = \"unrestricted\" }\n\n # Deprecated legacy mode (not socket-based),\n # for now enabled by default if access.socket is not specified\n #access.legacy = true\n }",
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Perform access check",
"module.name": "libpipewire-module-access",
"module.usage": "( access.socket={ <socket>=<access>, ... } ) ( access.legacy=true ) ",
"module.version": "1.6.3",
"object.id": 17,
"object.serial": 17
}
}
},
{
"id": 18,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-adapter",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-adapter.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Manage adapter nodes",
"module.name": "libpipewire-module-adapter",
"module.version": "1.6.3",
"object.id": 18,
"object.serial": 18
}
}
},
{
"id": 19,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "adapter",
"type": "PipeWire:Interface:Node",
"version": 3,
"change-mask": [ "props" ],
"props": {
"factory.name": "adapter",
"factory.type.name": "PipeWire:Interface:Node",
"factory.type.version": 3,
"factory.usage": "factory.name=<factory-name> (library.name=<library-name>) node.name=<string> ",
"module.id": 18,
"object.id": 19,
"object.serial": 19
}
}
},
{
"id": 20,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-link-factory",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-link-factory.so",
"args": "{\n #allow.link.passive = false\n\t}",
"change-mask": [ "props" ],
"props": {
"module.author": "Wim Taymans <wim.taymans@gmail.com>",
"module.description": "Allow clients to create links",
"module.name": "libpipewire-module-link-factory",
"module.usage": "( allow.link.passive=<bool, default false> ) ",
"module.version": "1.6.3",
"object.id": 20,
"object.serial": 20
}
}
},
{
"id": 21,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "link-factory",
"type": "PipeWire:Interface:Link",
"version": 3,
"change-mask": [ "props" ],
"props": {
"factory.name": "link-factory",
"factory.type.name": "PipeWire:Interface:Link",
"factory.type.version": 3,
"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": 20,
"object.id": 21,
"object.serial": 21
}
}
},
{
"id": 22,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-session-manager",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-session-manager.so",
"args": null,
"change-mask": [ "props" ],
"props": {
"module.author": "George Kiagiadakis <george.kiagiadakis@collabora.com>",
"module.description": "Implements objects for session management",
"module.name": "libpipewire-module-session-manager",
"module.version": "1.6.3",
"object.id": 22,
"object.serial": 22
}
}
},
{
"id": 23,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "client-endpoint",
"type": "PipeWire:Interface:ClientEndpoint",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "client-endpoint",
"factory.type.name": "PipeWire:Interface:ClientEndpoint",
"factory.type.version": 0,
"module.id": 22,
"object.id": 23,
"object.serial": 23
}
}
},
{
"id": 24,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "client-session",
"type": "PipeWire:Interface:ClientSession",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "client-session",
"factory.type.name": "PipeWire:Interface:ClientSession",
"factory.type.version": 0,
"module.id": 22,
"object.id": 24,
"object.serial": 24
}
}
},
{
"id": 25,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "session",
"type": "PipeWire:Interface:Session",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "session",
"factory.type.name": "PipeWire:Interface:Session",
"factory.type.version": 0,
"module.id": 22,
"object.id": 25,
"object.serial": 25
}
}
},
{
"id": 26,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "endpoint",
"type": "PipeWire:Interface:Endpoint",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "endpoint",
"factory.type.name": "PipeWire:Interface:Endpoint",
"factory.type.version": 0,
"module.id": 22,
"object.id": 26,
"object.serial": 26
}
}
},
{
"id": 27,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "endpoint-stream",
"type": "PipeWire:Interface:EndpointStream",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "endpoint-stream",
"factory.type.name": "PipeWire:Interface:EndpointStream",
"factory.type.version": 0,
"module.id": 22,
"object.id": 27,
"object.serial": 27
}
}
},
{
"id": 28,
"type": "PipeWire:Interface:Factory",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "endpoint-link",
"type": "PipeWire:Interface:EndpointLink",
"version": 0,
"change-mask": [ "props" ],
"props": {
"factory.name": "endpoint-link",
"factory.type.name": "PipeWire:Interface:EndpointLink",
"factory.type.version": 0,
"module.id": 22,
"object.id": 28,
"object.serial": 28
}
}
},
{
"id": 29,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-jackdbus-detect",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-jackdbus-detect.so",
"args": "{\n #jack.library = libjack.so.0\n #jack.server = null\n #jack.client-name = PipeWire\n #jack.connect = true\n #tunnel.mode = duplex # source|sink|duplex\n source.props = {\n #audio.channels = 2\n\t\t#midi.ports = 1\n #audio.position = [ FL FR ]\n # extra sink properties\n }\n sink.props = {\n #audio.channels = 2\n\t\t#midi.ports = 1\n #audio.position = [ FL FR ]\n # extra sink properties\n }\n }",
"change-mask": [ "props" ],
"props": {
"module.name": "libpipewire-module-jackdbus-detect",
"object.id": 29,
"object.serial": 29
}
}
},
{
"id": 30,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-roc-source",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-roc-source.so",
"args": "{\n local.ip = 0.0.0.0\n resampler.profile = low\n sess.latency.msec = 2000\n local.source.port = 10001\n local.repair.port = 20001\n local.control.port = 30001\n log.level = DEBUG\n source.name = \"roc-streamer3\"\n source.props = {\n node.target = \"input1\"\n }\n }",
"change-mask": [ "props" ],
"props": {
"module.author": "Sanchayan Maity <sanchayan@asymptotic.io>",
"module.description": "roc source",
"module.name": "libpipewire-module-roc-source",
"module.usage": "( source.name=<name for the source> ) ( roc.resampler.backend=<empty>|default|builtin|speex|speexdec ) ( roc.resampler.profile=<empty>|default|high|medium|low ) ( roc.latency-tuner.backend=<empty>|default|niq ) ( roc.latency-tuner.profile=<empty>|default|intact|responsive|gradual ) ( fec.code=<empty>|disable|rs8m|ldpc ) ( sess.latency.msec=<target network latency in milliseconds> ) ( local.ip=<local receiver ip> ) ( local.source.port=<local receiver port for source packets> ) ( local.repair.port=<local receiver port for repair packets> ) ( local.control.port=<local receiver port for control packets> ) ( audio.position=<channel map, default:[ FL FR ]> ) ( source.props= { key=value ... } ) ( log.level=<empty>|DEFAULT|NONE|RROR|INFO|DEBUG|TRACE ) ",
"module.version": "1.6.3",
"object.id": 30,
"object.serial": 30
}
}
},
{
"id": 31,
"type": "PipeWire:Interface:Module",
"version": 3,
"permissions": [ "r", "m" ],
"info": {
"name": "libpipewire-module-roc-source",
"filename": "/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-roc-source.so",
"args": "{\n local.ip = 0.0.0.0\n resampler.profile = low\n sess.latency.msec = 2000\n local.source.port = 10002\n local.repair.port = 20002\n local.control.port = 30002\n log.level = DEBUG\n source.name = \"roc-streamer4\"\n source.props = {\n node.target = \"input2\"\n }\n }",
"change-mask": [ "props" ],
"props": {
"module.author": "Sanchayan Maity <sanchayan@asymptotic.io>",
"module.description": "roc source",
"module.name": "libpipewire-module-roc-source",
"module.usage": "( source.name=<name for the source> ) ( roc.resampler.backend=<empty>|default|builtin|speex|speexdec ) ( roc.resampler.profile=<empty>|default|high|medium|low ) ( roc.latency-tuner.backend=<empty>|default|niq ) ( roc.latency-tuner.profile=<empty>|default|intact|responsive|gradual ) ( fec.code=<empty>|disable|rs8m|ldpc ) ( sess.latency.msec=<target network latency in milliseconds> ) ( local.ip=<local receiver ip> ) ( local.source.port=<local receiver port for source packets> ) ( local.repair.port=<local receiver port for repair packets> ) ( local.control.port=<local receiver port for control packets> ) ( audio.position=<channel map, default:[ FL FR ]> ) ( source.props= { key=value ... } ) ( log.level=<empty>|DEFAULT|NONE|RROR|INFO|DEBUG|TRACE ) ",
"module.version": "1.6.3",
"object.id": 31,
"object.serial": 31
}
}
},
{
"id": 32,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 0,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 0,
"n-output-ports": 0,
"state": "suspended",
"error": null,
"props": {
"clock.id": "monotonic",
"clock.name": "clock.system.monotonic",
"clock.quantum-limit": 8192,
"factory.id": 11,
"factory.name": "support.node.driver",
"node.driver": true,
"node.group": "pipewire.dummy",
"node.loop.name": "data-loop.0",
"node.name": "Dummy-Driver",
"node.sync-group": "sync.dummy",
"object.id": 32,
"object.serial": 32,
"priority.driver": 200000
},
"params": {
"PropInfo": [
{
"id": "clockId",
"description": "The clock id (monotonic, realtime, etc.)",
"type": "monotonic"
},
{
"id": "clockDevice",
"description": "The clock device (eg. /dev/ptp0)",
"type": ""
},
{
"id": "clockInterface",
"description": "The clock network interface (eg. eth0)",
"type": ""
}
],
"Props": [
{
"clockId": "monotonic"
},
{
"clockDevice": ""
},
{
"clockInterface": ""
}
]
}
}
},
{
"id": 33,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 0,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 0,
"n-output-ports": 0,
"state": "suspended",
"error": null,
"props": {
"clock.id": "monotonic",
"clock.name": "clock.system.monotonic",
"clock.quantum-limit": 8192,
"factory.id": 11,
"factory.name": "support.node.driver",
"node.driver": true,
"node.freewheel": true,
"node.group": "pipewire.freewheel",
"node.loop.name": "data-loop.0",
"node.name": "Freewheel-Driver",
"node.sync-group": "sync.dummy",
"object.id": 33,
"object.serial": 33,
"priority.driver": 190000
},
"params": {
"PropInfo": [
{
"id": "clockId",
"description": "The clock id (monotonic, realtime, etc.)",
"type": "monotonic"
},
{
"id": "clockDevice",
"description": "The clock device (eg. /dev/ptp0)",
"type": ""
},
{
"id": "clockInterface",
"description": "The clock network interface (eg. eth0)",
"type": ""
}
],
"Props": [
{
"clockId": "monotonic"
},
{
"clockDevice": ""
},
{
"clockInterface": ""
}
]
}
}
},
{
"id": 34,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 2,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"audio.position": "[ FL FR ]",
"clock.quantum-limit": 8192,
"factory.id": 19,
"factory.name": "support.null-audio-sink",
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Audio/Duplex",
"node.driver": true,
"node.loop.name": "data-loop.0",
"node.name": "input1",
"node.target": "broadcast",
"object.id": 34,
"object.serial": 34,
"port.group": "stream.0"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "F32P",
"alt1": "F32P",
"alt2": "F32LE"
},
"rate": { "default": 48000, "min": 1, "max": 2147483647 },
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 0.000000, 0.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"rate": 48000,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
],
"ProcessLatency": [
],
"Tag": [
]
}
}
},
{
"id": 39,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 2,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"audio.position": "[ FL FR ]",
"clock.quantum-limit": 8192,
"factory.id": 19,
"factory.name": "support.null-audio-sink",
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Audio/Duplex",
"node.driver": true,
"node.driver-id": 34,
"node.loop.name": "data-loop.0",
"node.name": "input2",
"node.target": "broadcast",
"object.id": 39,
"object.serial": 39,
"port.group": "stream.0"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "F32P",
"alt1": "F32P",
"alt2": "F32LE"
},
"rate": { "default": 48000, "min": 1, "max": 2147483647 },
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000, 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"rate": 48000,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
],
"ProcessLatency": [
],
"Tag": [
]
}
}
},
{
"id": 40,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 39,
"object.id": 40,
"object.path": "input2:playback_0",
"object.serial": 40,
"port.alias": "input2:playback_FL",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "playback_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 16
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 41,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 39,
"object.id": 41,
"object.path": "input2:playback_1",
"object.serial": 41,
"port.alias": "input2:playback_FR",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 1,
"port.name": "playback_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 16
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 42,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 39,
"object.id": 42,
"object.path": "input2:capture_0",
"object.serial": 42,
"port.alias": "input2:capture_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "capture_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 43,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 39,
"object.id": 43,
"object.path": "input2:capture_1",
"object.serial": 43,
"port.alias": "input2:capture_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.monitor": true,
"port.name": "capture_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 44,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 2,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"audio.position": "[ FL FR ]",
"clock.quantum-limit": 8192,
"factory.id": 19,
"factory.name": "support.null-audio-sink",
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Audio/Duplex",
"node.driver": true,
"node.driver-id": 34,
"node.loop.name": "data-loop.0",
"node.name": "broadcast",
"object.id": 44,
"object.serial": 44,
"port.group": "stream.0"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "F32P",
"alt1": "F32P",
"alt2": "F32LE"
},
"rate": { "default": 48000, "min": 1, "max": 2147483647 },
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000, 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"rate": 48000,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
],
"ProcessLatency": [
],
"Tag": [
]
}
}
},
{
"id": 49,
"type": "PipeWire:Interface:Metadata",
"version": 3,
"permissions": [ "r", "w", "x" ],
"props": {
"metadata.name": "settings",
"object.serial": 49
},
"metadata": [
{ "subject": 0, "key": "log.level", "type": "", "value": 3 },
{ "subject": 0, "key": "clock.rate", "type": "", "value": 48000 },
{ "subject": 0, "key": "clock.allowed-rates", "type": "", "value": "[ 48000 ]" },
{ "subject": 0, "key": "clock.quantum", "type": "", "value": 1024 },
{ "subject": 0, "key": "clock.min-quantum", "type": "", "value": 1024 },
{ "subject": 0, "key": "clock.max-quantum", "type": "", "value": 2048 },
{ "subject": 0, "key": "clock.force-quantum", "type": "", "value": 0 },
{ "subject": 0, "key": "clock.force-rate", "type": "", "value": 0 }
]
},
{
"id": 51,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "pipewire",
"application.process.binary": "pipewire",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 29188,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"config.name": "pipewire.conf",
"core.daemon": true,
"core.name": "pipewire-0",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 1024,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 16,
"log.level": 3,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 51,
"object.serial": 51,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 29188,
"pipewire.sec.socket": "pipewire-0",
"pipewire.sec.uid": 1000,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 52,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "WirePlumber (wappuradio)",
"application.process.binary": "wireplumber",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 29189,
"application.process.user": "streamserver",
"application.version": "0.5.14",
"clock.power-of-two-quantum": true,
"config.name": "null",
"context.modules.allow-empty": true,
"core.name": "pipewire-streamserver-29189",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 32,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 64,
"log.level": 2,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 52,
"object.serial": 52,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 29189,
"pipewire.sec.socket": "pipewire-0-manager",
"pipewire.sec.uid": 1000,
"remote.name": "[pipewire-0-manager,pipewire-0]",
"session.services": "[policy.linking.standard, policy.device.routes, policy.device.profile, policy.default-nodes, policy.linking.role-based]",
"settings.check-quantum": false,
"settings.check-rate": false,
"wireplumber.daemon": true,
"wireplumber.profile": "wappuradio"
}
}
},
{
"id": 53,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "pipewire",
"application.process.binary": "pipewire",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 29188,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"config.name": "pipewire.conf",
"core.daemon": true,
"core.name": "pipewire-0",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 1024,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 16,
"log.level": 3,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 53,
"object.serial": 53,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 29188,
"pipewire.sec.socket": "pipewire-0",
"pipewire.sec.uid": 1000,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 54,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "pipewire",
"application.process.binary": "pipewire",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 29193,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"config.name": "pipewire-pulse.conf",
"core.name": "pipewire-streamserver-29193",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 32,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 64,
"log.level": 2,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 54,
"object.serial": 54,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 29193,
"pipewire.sec.socket": "pipewire-0",
"pipewire.sec.uid": 1000,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 55,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 0,
"max-output-ports": 129,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 0,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"adapt.follower.spa-node": "",
"audio.position": "[ FL FR ]",
"client.id": 51,
"clock.quantum-limit": 8192,
"factory.id": 19,
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Stream/Output/Audio",
"media.name": "roc-source playback",
"node.autoconnect": true,
"node.description": "ROC Source",
"node.driver-id": 34,
"node.loop.name": "data-loop.0",
"node.name": "roc-streamer3",
"node.network": true,
"node.rate": "1/44100",
"node.target": "input1",
"node.virtual": true,
"node.want-driver": true,
"object.id": 55,
"object.register": false,
"object.serial": 55,
"port.group": "stream.0",
"stream.is-live": true
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32LE",
"rate": 44100,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000, 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32LE",
"rate": 44100,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"EnumPortConfig": [
{
"direction": "Output",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Output",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"ProcessLatency": [
],
"Tag": [
{
"direction": "Input"
}
]
}
}
},
{
"id": 56,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 0,
"max-output-ports": 129,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 0,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"adapt.follower.spa-node": "",
"audio.position": "[ FL FR ]",
"client.id": 53,
"clock.quantum-limit": 8192,
"factory.id": 19,
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Stream/Output/Audio",
"media.name": "roc-source playback",
"node.autoconnect": true,
"node.description": "ROC Source",
"node.driver-id": 34,
"node.loop.name": "data-loop.0",
"node.name": "roc-streamer4",
"node.network": true,
"node.rate": "1/44100",
"node.target": "input2",
"node.virtual": true,
"node.want-driver": true,
"object.id": 56,
"object.register": false,
"object.serial": 56,
"port.group": "stream.0",
"stream.is-live": true
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32LE",
"rate": 44100,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000, 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32LE",
"rate": 44100,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"EnumPortConfig": [
{
"direction": "Output",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Output",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"ProcessLatency": [
],
"Tag": [
{
"direction": "Input"
}
]
}
}
},
{
"id": 57,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 2,
"n-output-ports": 2,
"state": "suspended",
"error": null,
"props": {
"audio.channels": 2,
"audio.position": "FL,FR",
"audio.rate": 48000,
"client.id": 54,
"clock.quantum-limit": 8192,
"factory.id": 19,
"factory.name": "support.null-audio-sink",
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Audio/Sink",
"monitor.channel-volumes": true,
"node.description": "Dummy Output",
"node.driver": true,
"node.loop.name": "data-loop.0",
"node.name": "auto_null",
"node.virtual": true,
"object.id": 57,
"object.serial": 57,
"port.group": "stream.0"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "F32P",
"alt1": "F32P",
"alt2": "F32LE"
},
"rate": 48000,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000, 1.000000 ],
"params": [
"monitor.channel-volumes",
true,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [ ],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
],
"ProcessLatency": [
],
"Tag": [
]
}
}
},
{
"id": 58,
"type": "PipeWire:Interface:Metadata",
"version": 3,
"permissions": [ "r", "w", "x" ],
"props": {
"client.id": 52,
"factory.id": 7,
"metadata.name": "schema-sm-settings",
"module.id": 6,
"object.serial": 58
},
"metadata": [
{ "subject": 0, "key": "bluetooth.use-persistent-storage", "type": "Spa:String:JSON", "value": { "name": "Persistent storage", "description": "Remember and restore Bluetooth headset mode status", "type": "bool", "default": true } },
{ "subject": 0, "key": "bluetooth.autoswitch-to-headset-profile", "type": "Spa:String:JSON", "value": { "name": "Auto-switch to headset profile", "description": "Always show microphone for Bluetooth headsets, and switch to headset mode when recording", "type": "bool", "default": true } },
{ "subject": 0, "key": "device.restore-profile", "type": "Spa:String:JSON", "value": { "name": "Restore profile", "description": "Remember and restore device profiles", "type": "bool", "default": true } },
{ "subject": 0, "key": "device.restore-routes", "type": "Spa:String:JSON", "value": { "name": "Restore routes", "description": "Remember and restore device routes", "type": "bool", "default": true } },
{ "subject": 0, "key": "device.routes.default-sink-volume", "type": "Spa:String:JSON", "value": { "name": "Default sink volume", "description": "The default volume for audio sinks", "type": "float", "default": 0.064000, "min": 0.000000, "max": 1.000000 } },
{ "subject": 0, "key": "device.routes.default-source-volume", "type": "Spa:String:JSON", "value": { "name": "Default source volume", "description": "The default volume for audio sources", "type": "float", "default": 1.000000, "min": 0.000000, "max": 1.000000 } },
{ "subject": 0, "key": "device.routes.mute-on-alsa-playback-removed", "type": "Spa:String:JSON", "value": { "name": "Auto-mute on wired audio disconnect", "description": "Automatically mute all audio devices when active wired headphones/speakers are disconnected to prevent unintended sound output", "type": "bool", "default": false } },
{ "subject": 0, "key": "device.routes.mute-on-bluetooth-playback-removed", "type": "Spa:String:JSON", "value": { "name": "Auto-mute on Bluetooth audio disconnect", "description": "Automatically mute all audio devices when active Bluetooth headphones/speakers are disconnected to prevent unintended sound output", "type": "bool", "default": false } },
{ "subject": 0, "key": "linking.role-based.duck-level", "type": "Spa:String:JSON", "value": { "name": "Ducking level", "description": "The volume level to apply when ducking (= reducing volume for a higher priority stream to be audible) in the role-based linking policy", "type": "float", "default": 0.300000, "min": 0.000000, "max": 1.000000 } },
{ "subject": 0, "key": "linking.allow-moving-streams", "type": "Spa:String:JSON", "value": { "name": "Allow moving streams", "description": "Streams may be moved by adding PipeWire metadata at runtime", "type": "bool", "default": true } },
{ "subject": 0, "key": "linking.follow-default-target", "type": "Spa:String:JSON", "value": { "name": "Follow default target", "description": "Streams connected to the default device follow when default changes", "type": "bool", "default": true } },
{ "subject": 0, "key": "linking.pause-playback", "type": "Spa:String:JSON", "value": { "name": "Pause playback if output removed", "description": "Pause media players if their target sink is removed", "type": "bool", "default": true } },
{ "subject": 0, "key": "monitor.camera-discovery-timeout", "type": "Spa:String:JSON", "value": { "name": "Discovery timeout", "description": "The camera discovery timeout in milliseconds", "type": "int", "default": 1000, "min": 0, "max": 60000 } },
{ "subject": 0, "key": "monitor.alsa.autodetect-hdmi-channels", "type": "Spa:String:JSON", "value": { "name": "Automatically detect HDMI channels (experimental)", "description": "Automatically detect channel count and positions for HDMI devices (experimental)", "type": "bool", "default": false } },
{ "subject": 0, "key": "node.features.audio.no-dsp", "type": "Spa:String:JSON", "value": { "name": "No DSP", "description": "Do not convert audio to F32 format", "type": "bool", "default": false } },
{ "subject": 0, "key": "node.features.audio.monitor-ports", "type": "Spa:String:JSON", "value": { "name": "Monitor ports", "description": "Enable monitor ports on audio nodes", "type": "bool", "default": true } },
{ "subject": 0, "key": "node.features.audio.control-port", "type": "Spa:String:JSON", "value": { "name": "Control ports", "description": "Enable control ports on audio nodes", "type": "bool", "default": false } },
{ "subject": 0, "key": "node.features.audio.mono", "type": "Spa:String:JSON", "value": { "name": "Mono", "description": "Configure all audio device sink nodes in MONO", "type": "bool", "default": false } },
{ "subject": 0, "key": "node.stream.restore-props", "type": "Spa:String:JSON", "value": { "name": "Restore properties", "description": "Remember and restore properties of streams", "type": "bool", "default": true } },
{ "subject": 0, "key": "node.stream.restore-target", "type": "Spa:String:JSON", "value": { "name": "Restore target", "description": "Remember and restore stream targets", "type": "bool", "default": true } },
{ "subject": 0, "key": "node.stream.default-playback-volume", "type": "Spa:String:JSON", "value": { "name": "Default playback volume", "description": "The default volume for playback nodes", "type": "float", "default": 1.000000, "min": 0.000000, "max": 1.000000 } },
{ "subject": 0, "key": "node.stream.default-capture-volume", "type": "Spa:String:JSON", "value": { "name": "Default capture volume", "description": "The default volume for capture nodes", "type": "float", "default": 1.000000, "min": 0.000000, "max": 1.000000 } },
{ "subject": 0, "key": "node.stream.default-media-role", "type": "Spa:String:JSON", "value": { "name": "Default media role", "description": "Default media.role to assign on streams that do not specify it", "type": "string", "default": "null" } },
{ "subject": 0, "key": "node.filter.forward-format", "type": "Spa:String:JSON", "value": { "name": "Forward format", "description": "Forward format on filter nodes or not", "type": "bool", "default": false } },
{ "subject": 0, "key": "node.restore-default-targets", "type": "Spa:String:JSON", "value": { "name": "Restore default target", "description": "Remember and restore default audio/video input/output devices", "type": "bool", "default": true } }
]
},
{
"id": 60,
"type": "PipeWire:Interface:Metadata",
"version": 3,
"permissions": [ "r", "w", "x" ],
"props": {
"client.id": 52,
"factory.id": 7,
"metadata.name": "sm-settings",
"module.id": 6,
"object.serial": 60
},
"metadata": [
{ "subject": 0, "key": "bluetooth.use-persistent-storage", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "bluetooth.autoswitch-to-headset-profile", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "device.restore-profile", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "device.restore-routes", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "device.routes.default-sink-volume", "type": "Spa:String:JSON", "value": 0.064000 },
{ "subject": 0, "key": "device.routes.default-source-volume", "type": "Spa:String:JSON", "value": 1.000000 },
{ "subject": 0, "key": "device.routes.mute-on-alsa-playback-removed", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "device.routes.mute-on-bluetooth-playback-removed", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "linking.role-based.duck-level", "type": "Spa:String:JSON", "value": 0.300000 },
{ "subject": 0, "key": "linking.allow-moving-streams", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "linking.follow-default-target", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "linking.pause-playback", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "monitor.camera-discovery-timeout", "type": "Spa:String:JSON", "value": 1000 },
{ "subject": 0, "key": "monitor.alsa.autodetect-hdmi-channels", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "node.features.audio.no-dsp", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "node.features.audio.monitor-ports", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "node.features.audio.control-port", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "node.features.audio.mono", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "node.stream.restore-props", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "node.stream.restore-target", "type": "Spa:String:JSON", "value": true },
{ "subject": 0, "key": "node.stream.default-playback-volume", "type": "Spa:String:JSON", "value": 1.000000 },
{ "subject": 0, "key": "node.stream.default-capture-volume", "type": "Spa:String:JSON", "value": 1.000000 },
{ "subject": 0, "key": "node.stream.default-media-role", "type": "Spa:String:JSON", "value": "null" },
{ "subject": 0, "key": "node.filter.forward-format", "type": "Spa:String:JSON", "value": false },
{ "subject": 0, "key": "node.restore-default-targets", "type": "Spa:String:JSON", "value": true }
]
},
{
"id": 50,
"type": "PipeWire:Interface:Metadata",
"version": 3,
"permissions": [ "r", "w", "x" ],
"props": {
"client.id": 52,
"factory.id": 7,
"metadata.name": "default",
"module.id": 6,
"object.serial": 62
},
"metadata": [
{ "subject": 0, "key": "default.audio.sink", "type": "Spa:String:JSON", "value": { "name": "input1" } },
{ "subject": 0, "key": "default.audio.source", "type": "Spa:String:JSON", "value": { "name": "input1" } },
{ "subject": 55, "key": "target.node", "type": "Spa:Id", "value": -1 }
]
},
{
"id": 38,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 34,
"object.id": 38,
"object.path": "input1:playback_0",
"object.serial": 66,
"port.alias": "input1:playback_FL",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "playback_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 16
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 36,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 34,
"object.id": 36,
"object.path": "input1:playback_1",
"object.serial": 67,
"port.alias": "input1:playback_FR",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 1,
"port.name": "playback_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 16
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 37,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 34,
"object.id": 37,
"object.path": "input1:capture_0",
"object.serial": 68,
"port.alias": "input1:capture_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "capture_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 35,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 34,
"object.id": 35,
"object.path": "input1:capture_1",
"object.serial": 69,
"port.alias": "input1:capture_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.monitor": true,
"port.name": "capture_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 48,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 44,
"object.id": 48,
"object.path": "broadcast:playback_0",
"object.serial": 74,
"port.alias": "broadcast:playback_FL",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "playback_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 16
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 46,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 44,
"object.id": 46,
"object.path": "broadcast:playback_1",
"object.serial": 75,
"port.alias": "broadcast:playback_FR",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 1,
"port.name": "playback_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 16
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 67,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 44,
"object.id": 67,
"object.path": "broadcast:capture_0",
"object.serial": 76,
"port.alias": "broadcast:capture_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "capture_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 66,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 44,
"object.id": 66,
"object.path": "broadcast:capture_1",
"object.serial": 77,
"port.alias": "broadcast:capture_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.monitor": true,
"port.name": "capture_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 47,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 39,
"output-port-id": 43,
"input-node-id": 44,
"input-port-id": 46,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"factory.id": 21,
"link.input.node": 44,
"link.input.port": 46,
"link.output.node": 39,
"link.output.port": 43,
"object.id": 47,
"object.linger": true,
"object.serial": 78
}
}
},
{
"id": 45,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 34,
"output-port-id": 35,
"input-node-id": 44,
"input-port-id": 46,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"factory.id": 21,
"link.input.node": 44,
"link.input.port": 46,
"link.output.node": 34,
"link.output.port": 35,
"object.id": 45,
"object.linger": true,
"object.serial": 79
}
}
},
{
"id": 68,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 34,
"output-port-id": 37,
"input-node-id": 44,
"input-port-id": 48,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"factory.id": 21,
"link.input.node": 44,
"link.input.port": 48,
"link.output.node": 34,
"link.output.port": 37,
"object.id": 68,
"object.linger": true,
"object.serial": 80
}
}
},
{
"id": 65,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 39,
"output-port-id": 42,
"input-node-id": 44,
"input-port-id": 48,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"factory.id": 21,
"link.input.node": 44,
"link.input.port": 48,
"link.output.node": 39,
"link.output.port": 42,
"object.id": 65,
"object.linger": true,
"object.serial": 81
}
}
},
{
"id": 69,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 57,
"object.id": 69,
"object.path": "auto_null:playback_0",
"object.serial": 82,
"port.alias": "Dummy Output:playback_FL",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "playback_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
]
}
}
},
{
"id": 70,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 57,
"object.id": 70,
"object.path": "auto_null:playback_1",
"object.serial": 83,
"port.alias": "Dummy Output:playback_FR",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 1,
"port.name": "playback_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
]
}
}
},
{
"id": 71,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 57,
"object.id": 71,
"object.path": "auto_null:monitor_0",
"object.serial": 84,
"port.alias": "Dummy Output:monitor_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "monitor_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
]
}
}
},
{
"id": 72,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 57,
"object.id": 72,
"object.path": "auto_null:monitor_1",
"object.serial": 85,
"port.alias": "Dummy Output:monitor_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.monitor": true,
"port.name": "monitor_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
]
}
}
},
{
"id": 73,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 55,
"object.id": 73,
"object.path": "roc-streamer3:receive_0",
"object.serial": 86,
"port.alias": "ROC Source:receive_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.name": "receive_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Input"
}
]
}
}
},
{
"id": 74,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 55,
"object.id": 74,
"object.path": "roc-streamer3:receive_1",
"object.serial": 87,
"port.alias": "ROC Source:receive_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.name": "receive_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Input"
}
]
}
}
},
{
"id": 75,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 55,
"output-port-id": 73,
"input-node-id": 34,
"input-port-id": 38,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.input.node": 34,
"link.input.port": 38,
"link.output.node": 55,
"link.output.port": 73,
"object.id": 75,
"object.serial": 88
}
}
},
{
"id": 76,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 55,
"output-port-id": 74,
"input-node-id": 34,
"input-port-id": 36,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.input.node": 34,
"link.input.port": 36,
"link.output.node": 55,
"link.output.port": 74,
"object.id": 76,
"object.serial": 89
}
}
},
{
"id": 77,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 56,
"object.id": 77,
"object.path": "roc-streamer4:receive_0",
"object.serial": 90,
"port.alias": "ROC Source:receive_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.name": "receive_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Input"
}
]
}
}
},
{
"id": 78,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 56,
"object.id": 78,
"object.path": "roc-streamer4:receive_1",
"object.serial": 91,
"port.alias": "ROC Source:receive_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.name": "receive_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Input"
}
]
}
}
},
{
"id": 79,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 56,
"output-port-id": 77,
"input-node-id": 39,
"input-port-id": 40,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.input.node": 39,
"link.input.port": 40,
"link.output.node": 56,
"link.output.port": 77,
"object.id": 79,
"object.serial": 92
}
}
},
{
"id": 80,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 56,
"output-port-id": 78,
"input-node-id": 39,
"input-port-id": 41,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.input.node": 39,
"link.input.port": 41,
"link.output.node": 56,
"link.output.port": 78,
"object.id": 80,
"object.serial": 93
}
}
},
{
"id": 62,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C",
"application.name": "pw-cat",
"application.process.binary": "pw-cat",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 30071,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"core.name": "pipewire-streamserver-30071",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 32,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 64,
"log.level": 0,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 62,
"object.serial": 110,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 30071,
"pipewire.sec.socket": "pipewire-0",
"pipewire.sec.uid": 1000,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 63,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 2,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"adapt.follower.spa-node": "",
"application.name": "pw-record",
"client.id": 62,
"clock.quantum-limit": 8192,
"factory.id": 9,
"library.name": "audioconvert/libspa-audioconvert",
"media.category": "Capture",
"media.class": "Stream/Input/Audio",
"media.filename": "-",
"media.name": "-",
"media.role": "Music",
"media.type": "Audio",
"node.async": true,
"node.autoconnect": true,
"node.driver-id": 34,
"node.loop.class": "main",
"node.loop.name": "main-loop",
"node.name": "pw-record",
"node.rate": "1/48000",
"node.want-driver": true,
"object.id": 63,
"object.register": false,
"object.serial": 111,
"port.group": "stream.0",
"stream.is-live": true,
"target.object": 44
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "S16LE",
"rate": 48000,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000, 1.000000 ],
"channelMap": [ "FL", "FR" ],
"softMute": false,
"softVolumes": [ 1.000000, 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000, 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "S16LE",
"rate": 48000,
"channels": 2,
"position": [ "FL", "FR" ]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 2,
"position": [ "FL", "FR" ]
}
}
],
"Latency": [
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"ProcessLatency": [
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 86,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 63,
"object.id": 86,
"object.path": "pw-record:input_0",
"object.serial": 112,
"port.alias": "pw-record:input_FL",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "input_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 82,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 63,
"object.id": 82,
"object.path": "pw-record:input_1",
"object.serial": 113,
"port.alias": "pw-record:input_FR",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 1,
"port.name": "input_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 83,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FL",
"format.dsp": "32 bit float mono audio",
"node.id": 63,
"object.id": 83,
"object.path": "pw-record:monitor_0",
"object.serial": 114,
"port.alias": "pw-record:monitor_FL",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "monitor_FL"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 85,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "FR",
"format.dsp": "32 bit float mono audio",
"node.id": 63,
"object.id": 85,
"object.path": "pw-record:monitor_1",
"object.serial": 115,
"port.alias": "pw-record:monitor_FR",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 1,
"port.monitor": true,
"port.name": "monitor_FR"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 84,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 44,
"output-port-id": 67,
"input-node-id": 63,
"input-port-id": 86,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.async": true,
"link.input.node": 63,
"link.input.port": 86,
"link.output.node": 44,
"link.output.port": 67,
"object.id": 84,
"object.serial": 116
}
}
},
{
"id": 81,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 44,
"output-port-id": 66,
"input-node-id": 63,
"input-port-id": 82,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.async": true,
"link.input.node": 63,
"link.input.port": 82,
"link.output.node": 44,
"link.output.port": 66,
"object.id": 81,
"object.serial": 117
}
}
},
{
"id": 88,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "gst-launch-1.0",
"application.process.binary": "gst-launch-1.0",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 30148,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"core.name": "pipewire-streamserver-30148",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 32,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 64,
"log.level": 0,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 88,
"object.serial": 120,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 30148,
"pipewire.sec.socket": "pipewire-0",
"pipewire.sec.uid": 1000,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 89,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 1,
"n-output-ports": 1,
"state": "running",
"error": null,
"props": {
"adapt.follower.spa-node": "",
"client.id": 88,
"clock.quantum-limit": 8192,
"factory.id": 9,
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Stream/Input/Audio",
"media.name": "gst-launch-1.0",
"node.async": true,
"node.autoconnect": true,
"node.description": "gst-launch-1.0",
"node.dont-reconnect": true,
"node.driver-id": 34,
"node.loop.class": "main",
"node.loop.name": "pipewire-main-l",
"node.name": "gst-launch-1.0",
"node.target": 56,
"node.want-driver": true,
"object.id": 89,
"object.register": false,
"object.serial": 121,
"port.group": "stream.0",
"stream.is-live": true
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "S8",
"alt1": "S8",
"alt2": "S16LE",
"alt3": "S32LE",
"alt4": "F32LE",
"alt5": "F64LE"
},
"rate": { "default": 1, "min": 1, "max": 2147483647 },
"channels": { "default": 1, "min": 1, "max": 2147483647 }
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000 ],
"channelMap": [ "MONO" ],
"softMute": false,
"softVolumes": [ 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32LE",
"rate": 48000,
"channels": 1,
"position": [ "MONO" ]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 1,
"position": [ "MONO" ]
}
}
],
"Latency": [
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"ProcessLatency": [
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 87,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "MONO",
"format.dsp": "32 bit float mono audio",
"node.id": 89,
"object.id": 87,
"object.path": "gst-launch-1.0:input_0",
"object.serial": 122,
"port.alias": "gst-launch-1.0:input_MONO",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "input_MONO"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 90,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "MONO",
"format.dsp": "32 bit float mono audio",
"node.id": 89,
"object.id": 90,
"object.path": "gst-launch-1.0:monitor_0",
"object.serial": 123,
"port.alias": "gst-launch-1.0:monitor_MONO",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "monitor_MONO"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 91,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "gst-launch-1.0",
"application.process.binary": "gst-launch-1.0",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 30149,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"core.name": "pipewire-streamserver-30149",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 32,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 64,
"log.level": 0,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 91,
"object.serial": 124,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 30149,
"pipewire.sec.socket": "pipewire-0",
"pipewire.sec.uid": 1000,
"settings.check-quantum": false,
"settings.check-rate": false
}
}
},
{
"id": 92,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 56,
"output-port-id": 77,
"input-node-id": 89,
"input-port-id": 87,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.async": true,
"link.input.node": 89,
"link.input.port": 87,
"link.output.node": 56,
"link.output.port": 77,
"object.id": 92,
"object.serial": 125
}
}
},
{
"id": 93,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"max-input-ports": 129,
"max-output-ports": 0,
"change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
"n-input-ports": 1,
"n-output-ports": 1,
"state": "running",
"error": null,
"props": {
"adapt.follower.spa-node": "",
"client.id": 91,
"clock.quantum-limit": 8192,
"factory.id": 9,
"library.name": "audioconvert/libspa-audioconvert",
"media.class": "Stream/Input/Audio",
"media.name": "gst-launch-1.0",
"node.async": true,
"node.autoconnect": true,
"node.description": "gst-launch-1.0",
"node.dont-reconnect": true,
"node.driver-id": 34,
"node.loop.class": "main",
"node.loop.name": "pipewire-main-l",
"node.name": "gst-launch-1.0",
"node.target": 55,
"node.want-driver": true,
"object.id": 93,
"object.register": false,
"object.serial": 126,
"port.group": "stream.0",
"stream.is-live": true
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "S8",
"alt1": "S8",
"alt2": "S16LE",
"alt3": "S32LE",
"alt4": "F32LE",
"alt5": "F64LE"
},
"rate": { "default": 1, "min": 1, "max": 2147483647 },
"channels": { "default": 1, "min": 1, "max": 2147483647 }
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
"container": "Array"
},
{
"name": "monitor.channel-volumes",
"description": "Monitor channel volume",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.min-volume",
"description": "Minimum volume level",
"type": { "default": 0.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.max-volume",
"description": "Maximum volume level",
"type": { "default": 10.000000, "min": 0.000000, "max": 10.000000 },
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": { "default": 0.000000, "min": 0.000000, "max": 48000.000000 },
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": { "default": 0.000000, "min": 0.000000, "max": 1000.000000 },
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": { "default": 0, "min": 0, "max": 255 },
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix method to use",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
]
},
{
"id": "rate",
"description": "Rate scaler",
"type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": { "default": 4, "min": 0, "max": 14 },
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "dither.noise",
"description": "Add noise bits",
"type": { "default": 0, "min": 0, "max": 16 },
"params": true
},
{
"name": "dither.method",
"description": "The dithering method",
"type": "none",
"params": true,
"labels": [
"none",
"Disabled",
"rectangular",
"Rectangular dithering",
"triangular",
"Triangular dithering",
"triangular-hf",
"Sloped Triangular dithering",
"wannamaker3",
"Wannamaker 3 dithering",
"shaped5",
"Lipshitz 5 dithering"
]
},
{
"name": "debug.wav-path",
"description": "Path to WAV file",
"type": "",
"params": true
},
{
"name": "channelmix.lock-volumes",
"description": "Disable volume updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.disable",
"description": "Disable Filter graph updates",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "audioconvert.filter-graph.N",
"description": "A filter graph to load",
"type": "",
"params": true
}
],
"Props": [
{
"volume": 1.000000,
"mute": false,
"channelVolumes": [ 1.000000 ],
"channelMap": [ "MONO" ],
"softMute": false,
"softVolumes": [ 1.000000 ],
"monitorMute": false,
"monitorVolumes": [ 1.000000 ],
"params": [
"monitor.channel-volumes",
false,
"channelmix.disable",
false,
"channelmix.min-volume",
0.000000,
"channelmix.max-volume",
10.000000,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
true,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
0.000000,
"channelmix.fc-cutoff",
0.000000,
"channelmix.rear-delay",
0.000000,
"channelmix.stereo-widen",
0.000000,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"none",
"resample.quality",
4,
"resample.disable",
false,
"dither.noise",
0,
"dither.method",
"none",
"debug.wav-path",
"",
"channelmix.lock-volumes",
false,
"audioconvert.filter-graph.disable",
false,
"audioconvert.filter-graph",
""
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32LE",
"rate": 48000,
"channels": 1,
"position": [ "MONO" ]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": {
"default": "none",
"alt1": "none",
"alt2": "dsp",
"alt3": "convert"
},
"monitor": {
"default": false,
"alt1": false,
"alt2": true
},
"control": {
"default": false,
"alt1": false,
"alt2": true
}
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "dsp",
"monitor": true,
"control": false,
"format": {
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "F32P",
"channels": 1,
"position": [ "MONO" ]
}
}
],
"Latency": [
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"ProcessLatency": [
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 94,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "input",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "MONO",
"format.dsp": "32 bit float mono audio",
"node.id": 93,
"object.id": 94,
"object.path": "gst-launch-1.0:input_0",
"object.serial": 127,
"port.alias": "gst-launch-1.0:input_MONO",
"port.direction": "in",
"port.group": "stream.0",
"port.id": 0,
"port.name": "input_MONO"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Buffers": [
{
"buffers": { "default": 1, "min": 1, "max": 32 },
"blocks": 1,
"size": { "default": 32768, "min": 64, "max": 2147483647 },
"stride": 4
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 1.000000,
"maxQuantum": 1.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 95,
"type": "PipeWire:Interface:Port",
"version": 3,
"permissions": [ "r", "x", "m" ],
"info": {
"direction": "output",
"change-mask": [ "props", "params" ],
"props": {
"audio.channel": "MONO",
"format.dsp": "32 bit float mono audio",
"node.id": 93,
"object.id": 95,
"object.path": "gst-launch-1.0:monitor_0",
"object.serial": 128,
"port.alias": "gst-launch-1.0:monitor_MONO",
"port.direction": "out",
"port.group": "stream.0",
"port.id": 0,
"port.monitor": true,
"port.name": "monitor_MONO"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
}
],
"Meta": [
{
"type": "Header",
"size": 32
}
],
"IO": [
{
"id": "Buffers",
"size": 8
},
{
"id": "AsyncBuffers",
"size": 8
}
],
"Format": [ ],
"Buffers": [ ],
"Latency": [
{
"direction": "Input",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 0.000000,
"maxQuantum": 0.000000,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
}
],
"Tag": [
{
"direction": "Output"
}
]
}
}
},
{
"id": 97,
"type": "PipeWire:Interface:Link",
"version": 3,
"permissions": [ "r", "x" ],
"info": {
"output-node-id": 55,
"output-port-id": 73,
"input-node-id": 93,
"input-port-id": 94,
"change-mask": [ "state", "format", "props" ],
"state": "active",
"error": null,
"format": {
"mediaType": "audio",
"mediaSubtype": "dsp",
"format": "F32P"
},
"props": {
"client.id": 52,
"factory.id": 21,
"link.async": true,
"link.input.node": 93,
"link.input.port": 94,
"link.output.node": 55,
"link.output.port": 73,
"object.id": 97,
"object.serial": 130
}
}
},
{
"id": 96,
"type": "PipeWire:Interface:Client",
"version": 3,
"permissions": [ "r", "w", "x", "m" ],
"info": {
"change-mask": [ "props" ],
"props": {
"application.language": "C.UTF-8",
"application.name": "pw-dump",
"application.process.binary": "pw-dump",
"application.process.host": "streamserver2.idm.wappuradio.fi",
"application.process.id": 47166,
"application.process.user": "streamserver",
"clock.power-of-two-quantum": true,
"core.name": "pipewire-streamserver-47166",
"core.version": "1.6.3",
"cpu.max-align": 32,
"cpu.vm.name": "kvm",
"default.clock.max-quantum": 2048,
"default.clock.min-quantum": 32,
"default.clock.quantum": 1024,
"default.clock.quantum-floor": 4,
"default.clock.quantum-limit": 8192,
"default.clock.rate": 48000,
"default.video.height": 480,
"default.video.rate.denom": 1,
"default.video.rate.num": 25,
"default.video.width": 640,
"link.max-buffers": 64,
"log.level": 0,
"mem.allow-mlock": true,
"mem.warn-mlock": false,
"module.id": 2,
"object.id": 96,
"object.serial": 164,
"pipewire.access": "unrestricted",
"pipewire.protocol": "protocol-native",
"pipewire.sec.gid": 1000,
"pipewire.sec.label": "unconfined",
"pipewire.sec.pid": 47166,
"pipewire.sec.socket": "pipewire-0-manager",
"pipewire.sec.uid": 1000,
"remote.intention": "manager",
"settings.check-quantum": false,
"settings.check-rate": false
}
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment