| 
    PipeWire
    0.3.33
    
   | 
 
A collection of keys that are used to add extra information on objects. More...
Macros | |
| #define | PW_KEY_PROTOCOL "pipewire.protocol" | 
| protocol used for connection  More... | |
| #define | PW_KEY_ACCESS "pipewire.access" | 
| how the client access is controlled  More... | |
| #define | PW_KEY_CLIENT_ACCESS "pipewire.client.access" | 
| how the client wants to be access controlled  More... | |
| #define | PW_KEY_SEC_PID "pipewire.sec.pid" | 
| Various keys related to the identity of a client process and its security.  More... | |
| #define | PW_KEY_SEC_UID "pipewire.sec.uid" | 
| Client uid, set by protocol.  More... | |
| #define | PW_KEY_SEC_GID "pipewire.sec.gid" | 
| client gid, set by protocol  More... | |
| #define | PW_KEY_SEC_LABEL "pipewire.sec.label" | 
| client security label, set by protocol  More... | |
| #define | PW_KEY_LIBRARY_NAME_SYSTEM "library.name.system" | 
| name of the system library to use  More... | |
| #define | PW_KEY_LIBRARY_NAME_LOOP "library.name.loop" | 
| name of the loop library to use  More... | |
| #define | PW_KEY_LIBRARY_NAME_DBUS "library.name.dbus" | 
| name of the dbus library to use  More... | |
| #define | PW_KEY_OBJECT_PATH "object.path" | 
| object properties  More... | |
| #define | PW_KEY_OBJECT_ID "object.id" | 
| a global object id  More... | |
| #define | PW_KEY_OBJECT_LINGER "object.linger" | 
| the object lives on even after the client that created it has been destroyed  More... | |
| #define | PW_KEY_OBJECT_REGISTER "object.register" | 
| If the object should be registered.  More... | |
| #define | PW_KEY_CONFIG_PREFIX "config.prefix" | 
| a config prefix directory  More... | |
| #define | PW_KEY_CONFIG_NAME "config.name" | 
| a config file name  More... | |
| #define | PW_KEY_CONTEXT_PROFILE_MODULES "context.profile.modules" | 
| a context profile for modules, deprecated  More... | |
| #define | PW_KEY_USER_NAME "context.user-name" | 
| The user name that runs pipewire.  More... | |
| #define | PW_KEY_HOST_NAME "context.host-name" | 
| The host name of the machine.  More... | |
| #define | PW_KEY_CORE_NAME "core.name" | 
| The name of the core.  More... | |
| #define | PW_KEY_CORE_VERSION "core.version" | 
| The version of the core.  More... | |
| #define | PW_KEY_CORE_DAEMON "core.daemon" | 
| If the core is listening for connections.  More... | |
| #define | PW_KEY_CORE_ID "core.id" | 
| the core id  More... | |
| #define | PW_KEY_CORE_MONITORS "core.monitors" | 
| the apis monitored by core.  More... | |
| #define | PW_KEY_CPU_MAX_ALIGN "cpu.max-align" | 
| maximum alignment needed to support all CPU optimizations  More... | |
| #define | PW_KEY_CPU_CORES "cpu.cores" | 
| number of cores  More... | |
| #define | PW_KEY_PRIORITY_SESSION "priority.session" | 
| priority in session manager  More... | |
| #define | PW_KEY_PRIORITY_DRIVER "priority.driver" | 
| priority to be a driver  More... | |
| #define | PW_KEY_REMOTE_NAME "remote.name" | 
| The name of the remote to connect to, default pipewire-0, overwritten by env(PIPEWIRE_REMOTE)  More... | |
| #define | PW_KEY_REMOTE_INTENTION "remote.intention" | 
| The intention of the remote connection, "generic", "screencast".  More... | |
| #define | PW_KEY_APP_NAME "application.name" | 
| application keys  More... | |
| #define | PW_KEY_APP_ID "application.id" | 
| a textual id for identifying an application logically.  More... | |
| #define | PW_KEY_APP_VERSION "application.version" | 
| application version.  More... | |
| #define | PW_KEY_APP_ICON "application.icon" | 
| aa base64 blob with PNG image data  More... | |
| #define | PW_KEY_APP_ICON_NAME "application.icon-name" | 
| an XDG icon name for the application.  More... | |
| #define | PW_KEY_APP_LANGUAGE "application.language" | 
| application language if applicable, in standard POSIX format.  More... | |
| #define | PW_KEY_APP_PROCESS_ID "application.process.id" | 
| process id (pid)  More... | |
| #define | PW_KEY_APP_PROCESS_BINARY "application.process.binary" | 
| binary name  More... | |
| #define | PW_KEY_APP_PROCESS_USER "application.process.user" | 
| user name  More... | |
| #define | PW_KEY_APP_PROCESS_HOST "application.process.host" | 
| host name  More... | |
| #define | PW_KEY_APP_PROCESS_MACHINE_ID "application.process.machine-id" | 
| the D-Bus host id the application runs on  More... | |
| #define | PW_KEY_APP_PROCESS_SESSION_ID "application.process.session-id" | 
| login session of the application, on Unix the value of $XDG_SESSION_ID.  More... | |
| #define | PW_KEY_WINDOW_X11_DISPLAY "window.x11.display" | 
| window system  More... | |
| #define | PW_KEY_CLIENT_ID "client.id" | 
| Client properties.  More... | |
| #define | PW_KEY_CLIENT_NAME "client.name" | 
| the client name  More... | |
| #define | PW_KEY_CLIENT_API "client.api" | 
| the client api used to access PipeWire  More... | |
| #define | PW_KEY_NODE_ID "node.id" | 
| Node keys.  More... | |
| #define | PW_KEY_NODE_NAME "node.name" | 
| node name  More... | |
| #define | PW_KEY_NODE_NICK "node.nick" | 
| short node name  More... | |
| #define | PW_KEY_NODE_DESCRIPTION "node.description" | 
| localized human readable node one-line description.  More... | |
| #define | PW_KEY_NODE_PLUGGED "node.plugged" | 
| when the node was created.  More... | |
| #define | PW_KEY_NODE_SESSION "node.session" | 
| the session id this node is part of  More... | |
| #define | PW_KEY_NODE_GROUP "node.group" | 
| the group id this node is part of.  More... | |
| #define | PW_KEY_NODE_EXCLUSIVE "node.exclusive" | 
| node wants exclusive access to resources  More... | |
| #define | PW_KEY_NODE_AUTOCONNECT "node.autoconnect" | 
| node wants to be automatically connected to a compatible node  More... | |
| #define | PW_KEY_NODE_TARGET "node.target" | 
| node wants to be connected to the target node/session  More... | |
| #define | PW_KEY_NODE_LATENCY "node.latency" | 
| the requested latency of the node as a fraction.  More... | |
| #define | PW_KEY_NODE_MAX_LATENCY "node.max-latency" | 
| the maximum supported latency of the node as a fraction.  More... | |
| #define | PW_KEY_NODE_LOCK_QUANTUM "node.lock-quantum" | 
| don't change quantum when this node is active  More... | |
| #define | PW_KEY_NODE_RATE "node.rate" | 
| the requested rate of the graph as a fraction.  More... | |
| #define | PW_KEY_NODE_LOCK_RATE "node.lock-rate" | 
| don't change rate when this node is active  More... | |
| #define | PW_KEY_NODE_DONT_RECONNECT "node.dont-reconnect" | 
| don't reconnect this node  More... | |
| #define | PW_KEY_NODE_ALWAYS_PROCESS "node.always-process" | 
| process even when unlinked  More... | |
| #define | PW_KEY_NODE_WANT_DRIVER "node.want-driver" | 
| the node wants to be grouped with a driver node in order to schedule the graph.  More... | |
| #define | PW_KEY_NODE_PAUSE_ON_IDLE "node.pause-on-idle" | 
| pause the node when idle  More... | |
| #define | PW_KEY_NODE_CACHE_PARAMS "node.cache-params" | 
| cache the node params  More... | |
| #define | PW_KEY_NODE_DRIVER "node.driver" | 
| node can drive the graph  More... | |
| #define | PW_KEY_NODE_STREAM "node.stream" | 
| node is a stream, the server side should add a converter  More... | |
| #define | PW_KEY_NODE_VIRTUAL "node.virtual" | 
| the node is some sort of virtual object  More... | |
| #define | PW_KEY_NODE_PASSIVE "node.passive" | 
| indicate that a node wants passive links on output/input/all ports when the value is "out"/"in"/"true" respectively  More... | |
| #define | PW_KEY_NODE_LINK_GROUP "node.link-group" | 
| the node is internally linked to nodes with the same link-group  More... | |
| #define | PW_KEY_PORT_ID "port.id" | 
| Port keys.  More... | |
| #define | PW_KEY_PORT_NAME "port.name" | 
| port name  More... | |
| #define | PW_KEY_PORT_DIRECTION "port.direction" | 
| the port direction, one of "in" or "out" or "control" and "notify" for control ports  More... | |
| #define | PW_KEY_PORT_ALIAS "port.alias" | 
| port alias  More... | |
| #define | PW_KEY_PORT_PHYSICAL "port.physical" | 
| if this is a physical port  More... | |
| #define | PW_KEY_PORT_TERMINAL "port.terminal" | 
| if this port consumes the data  More... | |
| #define | PW_KEY_PORT_CONTROL "port.control" | 
| if this port is a control port  More... | |
| #define | PW_KEY_PORT_MONITOR "port.monitor" | 
| if this port is a monitor port  More... | |
| #define | PW_KEY_PORT_CACHE_PARAMS "port.cache-params" | 
| cache the node port params  More... | |
| #define | PW_KEY_PORT_EXTRA "port.extra" | 
| api specific extra port info, API name should be prefixed.  More... | |
| #define | PW_KEY_LINK_ID "link.id" | 
| link properties  More... | |
| #define | PW_KEY_LINK_INPUT_NODE "link.input.node" | 
| input node id of a link  More... | |
| #define | PW_KEY_LINK_INPUT_PORT "link.input.port" | 
| input port id of a link  More... | |
| #define | PW_KEY_LINK_OUTPUT_NODE "link.output.node" | 
| output node id of a link  More... | |
| #define | PW_KEY_LINK_OUTPUT_PORT "link.output.port" | 
| output port id of a link  More... | |
| #define | PW_KEY_LINK_PASSIVE "link.passive" | 
| indicate that a link is passive and does not cause the graph to be runnable.  More... | |
| #define | PW_KEY_LINK_FEEDBACK "link.feedback" | 
| indicate that a link is a feedback link and the target will receive data in the next cycle  More... | |
| #define | PW_KEY_DEVICE_ID "device.id" | 
| device properties  More... | |
| #define | PW_KEY_DEVICE_NAME "device.name" | 
| device name  More... | |
| #define | PW_KEY_DEVICE_PLUGGED "device.plugged" | 
| when the device was created.  More... | |
| #define | PW_KEY_DEVICE_NICK "device.nick" | 
| a short device nickname  More... | |
| #define | PW_KEY_DEVICE_STRING "device.string" | 
| device string in the underlying layer's format.  More... | |
| #define | PW_KEY_DEVICE_API "device.api" | 
| API this device is accessed with.  More... | |
| #define | PW_KEY_DEVICE_DESCRIPTION "device.description" | 
| localized human readable device one-line description.  More... | |
| #define | PW_KEY_DEVICE_BUS_PATH "device.bus-path" | 
| bus path to the device in the OS' format.  More... | |
| #define | PW_KEY_DEVICE_SERIAL "device.serial" | 
| Serial number if applicable.  More... | |
| #define | PW_KEY_DEVICE_VENDOR_ID "device.vendor.id" | 
| vendor ID if applicable  More... | |
| #define | PW_KEY_DEVICE_VENDOR_NAME "device.vendor.name" | 
| vendor name if applicable  More... | |
| #define | PW_KEY_DEVICE_PRODUCT_ID "device.product.id" | 
| product ID if applicable  More... | |
| #define | PW_KEY_DEVICE_PRODUCT_NAME "device.product.name" | 
| product name if applicable  More... | |
| #define | PW_KEY_DEVICE_CLASS "device.class" | 
| device class  More... | |
| #define | PW_KEY_DEVICE_FORM_FACTOR "device.form-factor" | 
| form factor if applicable.  More... | |
| #define | PW_KEY_DEVICE_BUS "device.bus" | 
| bus of the device if applicable.  More... | |
| #define | PW_KEY_DEVICE_SUBSYSTEM "device.subsystem" | 
| device subsystem  More... | |
| #define | PW_KEY_DEVICE_ICON "device.icon" | 
| icon for the device.  More... | |
| #define | PW_KEY_DEVICE_ICON_NAME "device.icon-name" | 
| an XDG icon name for the device.  More... | |
| #define | PW_KEY_DEVICE_INTENDED_ROLES "device.intended-roles" | 
| intended use.  More... | |
| #define | PW_KEY_DEVICE_CACHE_PARAMS "device.cache-params" | 
| cache the device spa params  More... | |
| #define | PW_KEY_MODULE_ID "module.id" | 
| module properties  More... | |
| #define | PW_KEY_MODULE_NAME "module.name" | 
| the name of the module  More... | |
| #define | PW_KEY_MODULE_AUTHOR "module.author" | 
| the author's name  More... | |
| #define | PW_KEY_MODULE_DESCRIPTION "module.description" | 
| a human readable one-line description of the module's purpose.  More... | |
| #define | PW_KEY_MODULE_USAGE "module.usage" | 
| a human readable usage description of the module's arguments.  More... | |
| #define | PW_KEY_MODULE_VERSION "module.version" | 
| a version string for the module.  More... | |
| #define | PW_KEY_FACTORY_ID "factory.id" | 
| Factory properties.  More... | |
| #define | PW_KEY_FACTORY_NAME "factory.name" | 
| the name of the factory  More... | |
| #define | PW_KEY_FACTORY_USAGE "factory.usage" | 
| the usage of the factory  More... | |
| #define | PW_KEY_FACTORY_TYPE_NAME "factory.type.name" | 
| the name of the type created by a factory  More... | |
| #define | PW_KEY_FACTORY_TYPE_VERSION "factory.type.version" | 
| the version of the type created by a factory  More... | |
| #define | PW_KEY_STREAM_IS_LIVE "stream.is-live" | 
| Stream properties.  More... | |
| #define | PW_KEY_STREAM_LATENCY_MIN "stream.latency.min" | 
| The minimum latency of the stream.  More... | |
| #define | PW_KEY_STREAM_LATENCY_MAX "stream.latency.max" | 
| The maximum latency of the stream.  More... | |
| #define | PW_KEY_STREAM_MONITOR "stream.monitor" | 
| Indicates that the stream is monitoring and might select a less accurate but faster conversion algorithm.  More... | |
| #define | PW_KEY_STREAM_DONT_REMIX "stream.dont-remix" | 
| don't remix channels  More... | |
| #define | PW_KEY_STREAM_CAPTURE_SINK "stream.capture.sink" | 
| Try to capture the sink output instead of source output.  More... | |
| #define | PW_KEY_MEDIA_TYPE "media.type" | 
| Media.  More... | |
| #define | PW_KEY_MEDIA_CATEGORY "media.category" | 
| Media Category: Playback, Capture, Duplex, Monitor, Manager.  More... | |
| #define | PW_KEY_MEDIA_ROLE "media.role" | 
| Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test.  More... | |
| #define | PW_KEY_MEDIA_CLASS "media.class" | 
| class Ex: "Video/Source"  More... | |
| #define | PW_KEY_MEDIA_NAME "media.name" | 
| media name.  More... | |
| #define | PW_KEY_MEDIA_TITLE "media.title" | 
| title.  More... | |
| #define | PW_KEY_MEDIA_ARTIST "media.artist" | 
| artist.  More... | |
| #define | PW_KEY_MEDIA_COPYRIGHT "media.copyright" | 
| copyright string  More... | |
| #define | PW_KEY_MEDIA_SOFTWARE "media.software" | 
| generator software  More... | |
| #define | PW_KEY_MEDIA_LANGUAGE "media.language" | 
| language in POSIX format.  More... | |
| #define | PW_KEY_MEDIA_FILENAME "media.filename" | 
| filename  More... | |
| #define | PW_KEY_MEDIA_ICON "media.icon" | 
| icon for the media, a base64 blob with PNG image data  More... | |
| #define | PW_KEY_MEDIA_ICON_NAME "media.icon-name" | 
| an XDG icon name for the media.  More... | |
| #define | PW_KEY_MEDIA_COMMENT "media.comment" | 
| extra comment  More... | |
| #define | PW_KEY_MEDIA_DATE "media.date" | 
| date of the media  More... | |
| #define | PW_KEY_MEDIA_FORMAT "media.format" | 
| format of the media  More... | |
| #define | PW_KEY_FORMAT_DSP "format.dsp" | 
| format related properties  More... | |
| #define | PW_KEY_AUDIO_CHANNEL "audio.channel" | 
| audio related properties  More... | |
| #define | PW_KEY_AUDIO_RATE "audio.rate" | 
| an audio samplerate  More... | |
| #define | PW_KEY_AUDIO_CHANNELS "audio.channels" | 
| number of audio channels  More... | |
| #define | PW_KEY_AUDIO_FORMAT "audio.format" | 
| an audio format.  More... | |
| #define | PW_KEY_VIDEO_RATE "video.framerate" | 
| video related properties  More... | |
| #define | PW_KEY_VIDEO_FORMAT "video.format" | 
| a video format  More... | |
| #define | PW_KEY_VIDEO_SIZE "video.size" | 
| a video size as "<width>x<height"  More... | |
A collection of keys that are used to add extra information on objects.
Keys that start with "pipewire." are in general set-once and then read-only. They are usually used for security sensitive information that needs to be fixed.
Properties from other objects can also appear. This usually suggests some sort of parent/child or owner/owned relationship.
| #define PW_KEY_ACCESS "pipewire.access" | 
how the client access is controlled
| #define PW_KEY_APP_ICON "application.icon" | 
aa base64 blob with PNG image data
| #define PW_KEY_APP_ICON_NAME "application.icon-name" | 
an XDG icon name for the application.
Ex: "totem"
| #define PW_KEY_APP_ID "application.id" | 
a textual id for identifying an application logically.
Ex: "org.gnome.Totem"
| #define PW_KEY_APP_LANGUAGE "application.language" | 
application language if applicable, in standard POSIX format.
Ex: "en_GB"
| #define PW_KEY_APP_NAME "application.name" | 
application keys
application name. Ex: "Totem Music Player"
| #define PW_KEY_APP_PROCESS_BINARY "application.process.binary" | 
binary name
| #define PW_KEY_APP_PROCESS_HOST "application.process.host" | 
host name
| #define PW_KEY_APP_PROCESS_ID "application.process.id" | 
process id (pid)
| #define PW_KEY_APP_PROCESS_MACHINE_ID "application.process.machine-id" | 
the D-Bus host id the application runs on
| #define PW_KEY_APP_PROCESS_SESSION_ID "application.process.session-id" | 
login session of the application, on Unix the value of $XDG_SESSION_ID.
| #define PW_KEY_APP_PROCESS_USER "application.process.user" | 
user name
| #define PW_KEY_APP_VERSION "application.version" | 
application version.
Ex: "1.2.0"
| #define PW_KEY_AUDIO_CHANNEL "audio.channel" | 
audio related properties
an audio channel. Ex: "FL"
| #define PW_KEY_AUDIO_CHANNELS "audio.channels" | 
number of audio channels
| #define PW_KEY_AUDIO_FORMAT "audio.format" | 
an audio format.
Ex: "S16LE"
| #define PW_KEY_AUDIO_RATE "audio.rate" | 
an audio samplerate
| #define PW_KEY_CLIENT_ACCESS "pipewire.client.access" | 
how the client wants to be access controlled
| #define PW_KEY_CLIENT_API "client.api" | 
the client api used to access PipeWire
| #define PW_KEY_CLIENT_ID "client.id" | 
Client properties.
a client id
| #define PW_KEY_CLIENT_NAME "client.name" | 
the client name
| #define PW_KEY_CONFIG_NAME "config.name" | 
a config file name
| #define PW_KEY_CONFIG_PREFIX "config.prefix" | 
a config prefix directory
| #define PW_KEY_CONTEXT_PROFILE_MODULES "context.profile.modules" | 
a context profile for modules, deprecated
| #define PW_KEY_CORE_DAEMON "core.daemon" | 
If the core is listening for connections.
| #define PW_KEY_CORE_ID "core.id" | 
the core id
| #define PW_KEY_CORE_MONITORS "core.monitors" | 
the apis monitored by core.
| #define PW_KEY_CORE_NAME "core.name" | 
The name of the core.
Default is pipewire-<username>-<pid>, overwritten by env(PIPEWIRE_CORE) 
| #define PW_KEY_CORE_VERSION "core.version" | 
The version of the core.
| #define PW_KEY_CPU_CORES "cpu.cores" | 
number of cores
| #define PW_KEY_CPU_MAX_ALIGN "cpu.max-align" | 
maximum alignment needed to support all CPU optimizations
| #define PW_KEY_DEVICE_API "device.api" | 
API this device is accessed with.
Ex. "alsa", "v4l2"
| #define PW_KEY_DEVICE_BUS "device.bus" | 
bus of the device if applicable.
One of "isa", "pci", "usb", "firewire", "bluetooth"
| #define PW_KEY_DEVICE_BUS_PATH "device.bus-path" | 
bus path to the device in the OS' format.
Ex. "pci-0000:00:14.0-usb-0:3.2:1.0"
| #define PW_KEY_DEVICE_CACHE_PARAMS "device.cache-params" | 
cache the device spa params
| #define PW_KEY_DEVICE_CLASS "device.class" | 
device class
| #define PW_KEY_DEVICE_DESCRIPTION "device.description" | 
localized human readable device one-line description.
Ex. "Foobar USB Headset"
| #define PW_KEY_DEVICE_FORM_FACTOR "device.form-factor" | 
form factor if applicable.
One of "internal", "speaker", "handset", "tv", "webcam", "microphone", "headset", "headphone", "hands-free", "car", "hifi", "computer", "portable"
| #define PW_KEY_DEVICE_ICON "device.icon" | 
icon for the device.
A base64 blob containing PNG image data
| #define PW_KEY_DEVICE_ICON_NAME "device.icon-name" | 
an XDG icon name for the device.
Ex. "sound-card-speakers-usb"
| #define PW_KEY_DEVICE_ID "device.id" | 
device properties
device id
| #define PW_KEY_DEVICE_INTENDED_ROLES "device.intended-roles" | 
intended use.
A space separated list of roles (see PW_KEY_MEDIA_ROLE) this device is particularly well suited for, due to latency, quality or form factor.
| #define PW_KEY_DEVICE_NAME "device.name" | 
device name
| #define PW_KEY_DEVICE_NICK "device.nick" | 
a short device nickname
| #define PW_KEY_DEVICE_PLUGGED "device.plugged" | 
when the device was created.
As a uint64 in nanoseconds.
| #define PW_KEY_DEVICE_PRODUCT_ID "device.product.id" | 
product ID if applicable
| #define PW_KEY_DEVICE_PRODUCT_NAME "device.product.name" | 
product name if applicable
| #define PW_KEY_DEVICE_SERIAL "device.serial" | 
Serial number if applicable.
| #define PW_KEY_DEVICE_STRING "device.string" | 
device string in the underlying layer's format.
Ex. "surround51:0"
| #define PW_KEY_DEVICE_SUBSYSTEM "device.subsystem" | 
device subsystem
| #define PW_KEY_DEVICE_VENDOR_ID "device.vendor.id" | 
vendor ID if applicable
| #define PW_KEY_DEVICE_VENDOR_NAME "device.vendor.name" | 
vendor name if applicable
| #define PW_KEY_FACTORY_ID "factory.id" | 
Factory properties.
the factory id
| #define PW_KEY_FACTORY_NAME "factory.name" | 
the name of the factory
| #define PW_KEY_FACTORY_TYPE_NAME "factory.type.name" | 
the name of the type created by a factory
| #define PW_KEY_FACTORY_TYPE_VERSION "factory.type.version" | 
the version of the type created by a factory
| #define PW_KEY_FACTORY_USAGE "factory.usage" | 
the usage of the factory
| #define PW_KEY_FORMAT_DSP "format.dsp" | 
format related properties
a dsp format. Ex: "32 bit float mono audio"
| #define PW_KEY_HOST_NAME "context.host-name" | 
The host name of the machine.
| #define PW_KEY_LIBRARY_NAME_DBUS "library.name.dbus" | 
name of the dbus library to use
| #define PW_KEY_LIBRARY_NAME_LOOP "library.name.loop" | 
name of the loop library to use
| #define PW_KEY_LIBRARY_NAME_SYSTEM "library.name.system" | 
name of the system library to use
| #define PW_KEY_LINK_FEEDBACK "link.feedback" | 
indicate that a link is a feedback link and the target will receive data in the next cycle
| #define PW_KEY_LINK_ID "link.id" | 
link properties
a link id
| #define PW_KEY_LINK_INPUT_NODE "link.input.node" | 
input node id of a link
| #define PW_KEY_LINK_INPUT_PORT "link.input.port" | 
input port id of a link
| #define PW_KEY_LINK_OUTPUT_NODE "link.output.node" | 
output node id of a link
| #define PW_KEY_LINK_OUTPUT_PORT "link.output.port" | 
output port id of a link
| #define PW_KEY_LINK_PASSIVE "link.passive" | 
indicate that a link is passive and does not cause the graph to be runnable.
| #define PW_KEY_MEDIA_ARTIST "media.artist" | 
artist.
Ex: "Pink Floyd"
| #define PW_KEY_MEDIA_CATEGORY "media.category" | 
Media Category: Playback, Capture, Duplex, Monitor, Manager.
| #define PW_KEY_MEDIA_CLASS "media.class" | 
class Ex: "Video/Source"
| #define PW_KEY_MEDIA_COMMENT "media.comment" | 
extra comment
| #define PW_KEY_MEDIA_COPYRIGHT "media.copyright" | 
copyright string
| #define PW_KEY_MEDIA_DATE "media.date" | 
date of the media
| #define PW_KEY_MEDIA_FILENAME "media.filename" | 
filename
| #define PW_KEY_MEDIA_FORMAT "media.format" | 
format of the media
| #define PW_KEY_MEDIA_ICON "media.icon" | 
icon for the media, a base64 blob with PNG image data
| #define PW_KEY_MEDIA_ICON_NAME "media.icon-name" | 
an XDG icon name for the media.
Ex: "audio-x-mp3"
| #define PW_KEY_MEDIA_LANGUAGE "media.language" | 
language in POSIX format.
Ex: en_GB
| #define PW_KEY_MEDIA_NAME "media.name" | 
media name.
Ex: "Pink Floyd: Time"
| #define PW_KEY_MEDIA_ROLE "media.role" | 
Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test.
| #define PW_KEY_MEDIA_SOFTWARE "media.software" | 
generator software
| #define PW_KEY_MEDIA_TITLE "media.title" | 
title.
Ex: "Time"
| #define PW_KEY_MEDIA_TYPE "media.type" | 
Media.
Media type, one of Audio, Video, Midi
| #define PW_KEY_MODULE_AUTHOR "module.author" | 
the author's name
| #define PW_KEY_MODULE_DESCRIPTION "module.description" | 
a human readable one-line description of the module's purpose.
| #define PW_KEY_MODULE_ID "module.id" | 
module properties
the module id
| #define PW_KEY_MODULE_NAME "module.name" | 
the name of the module
| #define PW_KEY_MODULE_USAGE "module.usage" | 
a human readable usage description of the module's arguments.
| #define PW_KEY_MODULE_VERSION "module.version" | 
a version string for the module.
| #define PW_KEY_NODE_ALWAYS_PROCESS "node.always-process" | 
process even when unlinked
| #define PW_KEY_NODE_AUTOCONNECT "node.autoconnect" | 
node wants to be automatically connected to a compatible node
| #define PW_KEY_NODE_CACHE_PARAMS "node.cache-params" | 
cache the node params
| #define PW_KEY_NODE_DESCRIPTION "node.description" | 
localized human readable node one-line description.
Ex. "Foobar USB Headset"
| #define PW_KEY_NODE_DONT_RECONNECT "node.dont-reconnect" | 
don't reconnect this node
| #define PW_KEY_NODE_DRIVER "node.driver" | 
node can drive the graph
| #define PW_KEY_NODE_EXCLUSIVE "node.exclusive" | 
node wants exclusive access to resources
| #define PW_KEY_NODE_GROUP "node.group" | 
the group id this node is part of.
Nodes in the same group are always scheduled with the same driver.
| #define PW_KEY_NODE_ID "node.id" | 
Node keys.
node id
| #define PW_KEY_NODE_LATENCY "node.latency" | 
the requested latency of the node as a fraction.
Ex: 128/48000
| #define PW_KEY_NODE_LINK_GROUP "node.link-group" | 
the node is internally linked to nodes with the same link-group
| #define PW_KEY_NODE_LOCK_QUANTUM "node.lock-quantum" | 
don't change quantum when this node is active
| #define PW_KEY_NODE_LOCK_RATE "node.lock-rate" | 
don't change rate when this node is active
| #define PW_KEY_NODE_MAX_LATENCY "node.max-latency" | 
the maximum supported latency of the node as a fraction.
Ex: 1024/48000
| #define PW_KEY_NODE_NAME "node.name" | 
node name
| #define PW_KEY_NODE_NICK "node.nick" | 
short node name
| #define PW_KEY_NODE_PASSIVE "node.passive" | 
indicate that a node wants passive links on output/input/all ports when the value is "out"/"in"/"true" respectively
| #define PW_KEY_NODE_PAUSE_ON_IDLE "node.pause-on-idle" | 
pause the node when idle
| #define PW_KEY_NODE_PLUGGED "node.plugged" | 
when the node was created.
As a uint64 in nanoseconds.
| #define PW_KEY_NODE_RATE "node.rate" | 
the requested rate of the graph as a fraction.
Ex: 1/48000
| #define PW_KEY_NODE_SESSION "node.session" | 
the session id this node is part of
| #define PW_KEY_NODE_STREAM "node.stream" | 
node is a stream, the server side should add a converter
| #define PW_KEY_NODE_TARGET "node.target" | 
node wants to be connected to the target node/session
| #define PW_KEY_NODE_VIRTUAL "node.virtual" | 
the node is some sort of virtual object
| #define PW_KEY_NODE_WANT_DRIVER "node.want-driver" | 
the node wants to be grouped with a driver node in order to schedule the graph.
| #define PW_KEY_OBJECT_ID "object.id" | 
a global object id
| #define PW_KEY_OBJECT_LINGER "object.linger" | 
the object lives on even after the client that created it has been destroyed
| #define PW_KEY_OBJECT_PATH "object.path" | 
object properties
unique path to construct the object
| #define PW_KEY_OBJECT_REGISTER "object.register" | 
If the object should be registered.
| #define PW_KEY_PORT_ALIAS "port.alias" | 
port alias
| #define PW_KEY_PORT_CACHE_PARAMS "port.cache-params" | 
cache the node port params
| #define PW_KEY_PORT_CONTROL "port.control" | 
if this port is a control port
| #define PW_KEY_PORT_DIRECTION "port.direction" | 
the port direction, one of "in" or "out" or "control" and "notify" for control ports
| #define PW_KEY_PORT_EXTRA "port.extra" | 
api specific extra port info, API name should be prefixed.
"jack:flags:56"
| #define PW_KEY_PORT_ID "port.id" | 
Port keys.
port id
| #define PW_KEY_PORT_MONITOR "port.monitor" | 
if this port is a monitor port
| #define PW_KEY_PORT_NAME "port.name" | 
port name
| #define PW_KEY_PORT_PHYSICAL "port.physical" | 
if this is a physical port
| #define PW_KEY_PORT_TERMINAL "port.terminal" | 
if this port consumes the data
| #define PW_KEY_PRIORITY_DRIVER "priority.driver" | 
priority to be a driver
| #define PW_KEY_PRIORITY_SESSION "priority.session" | 
priority in session manager
| #define PW_KEY_PROTOCOL "pipewire.protocol" | 
protocol used for connection
| #define PW_KEY_REMOTE_INTENTION "remote.intention" | 
The intention of the remote connection, "generic", "screencast".
| #define PW_KEY_REMOTE_NAME "remote.name" | 
The name of the remote to connect to, default pipewire-0, overwritten by env(PIPEWIRE_REMOTE)
| #define PW_KEY_SEC_GID "pipewire.sec.gid" | 
client gid, set by protocol
| #define PW_KEY_SEC_LABEL "pipewire.sec.label" | 
client security label, set by protocol
| #define PW_KEY_SEC_PID "pipewire.sec.pid" | 
Various keys related to the identity of a client process and its security.
Must be obtained from trusted sources by the protocol and placed as read-only properties. Client pid, set by protocol
| #define PW_KEY_SEC_UID "pipewire.sec.uid" | 
Client uid, set by protocol.
| #define PW_KEY_STREAM_CAPTURE_SINK "stream.capture.sink" | 
Try to capture the sink output instead of source output.
| #define PW_KEY_STREAM_DONT_REMIX "stream.dont-remix" | 
don't remix channels
| #define PW_KEY_STREAM_IS_LIVE "stream.is-live" | 
Stream properties.
Indicates that the stream is live.
| #define PW_KEY_STREAM_LATENCY_MAX "stream.latency.max" | 
The maximum latency of the stream.
| #define PW_KEY_STREAM_LATENCY_MIN "stream.latency.min" | 
The minimum latency of the stream.
| #define PW_KEY_STREAM_MONITOR "stream.monitor" | 
Indicates that the stream is monitoring and might select a less accurate but faster conversion algorithm.
| #define PW_KEY_USER_NAME "context.user-name" | 
The user name that runs pipewire.
| #define PW_KEY_VIDEO_FORMAT "video.format" | 
a video format
| #define PW_KEY_VIDEO_RATE "video.framerate" | 
video related properties
a video framerate
| #define PW_KEY_VIDEO_SIZE "video.size" | 
a video size as "<width>x<height"
| #define PW_KEY_WINDOW_X11_DISPLAY "window.x11.display" | 
window system
the X11 display string. Ex. ":0.0"