PipeWire  0.3.61
Key Names

A collection of keys that are used to add extra information on objects. More...

Files

file  keys.h
 pipewire/keys.h
 

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_SERIAL   "object.serial"
 a 64 bit object serial number. 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_CONFIG_OVERRIDE_PREFIX   "config.override.prefix"
 a config override prefix directory More...
 
#define PW_KEY_CONFIG_OVERRIDE_NAME   "config.override.name"
 a config override 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_FORCE_QUANTUM   "node.force-quantum"
 force a quantum while the 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_FORCE_RATE   "node.force-rate"
 force a rate while the 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_SUSPEND_ON_IDLE   "node.suspend-on-idle"
 suspend the node when idle More...
 
#define PW_KEY_NODE_CACHE_PARAMS   "node.cache-params"
 cache the node params More...
 
#define PW_KEY_NODE_TRANSPORT_SYNC   "node.transport.sync"
 the node handles transport sync 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_NODE_NETWORK   "node.network"
 the node is on a network More...
 
#define PW_KEY_NODE_TRIGGER   "node.trigger"
 the node is not scheduled automatically based on the dependencies in the graph but it will be triggered explicitly. 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_SYSFS_PATH   "device.sysfs.path"
 device sysfs path 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_AUDIO_ALLOWED_RATES   "audio.allowed-rates"
 a list of allowed samplerates ex. 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...
 
#define PW_KEY_TARGET_OBJECT   "target.object"
 a target object to link to More...
 

Detailed Description

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.

Macro Definition Documentation

◆ PW_KEY_PROTOCOL

#define PW_KEY_PROTOCOL   "pipewire.protocol"

protocol used for connection

◆ PW_KEY_ACCESS

#define PW_KEY_ACCESS   "pipewire.access"

how the client access is controlled

◆ PW_KEY_CLIENT_ACCESS

#define PW_KEY_CLIENT_ACCESS   "pipewire.client.access"

how the client wants to be access controlled

◆ PW_KEY_SEC_PID

#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

◆ PW_KEY_SEC_UID

#define PW_KEY_SEC_UID   "pipewire.sec.uid"

Client uid, set by protocol.

◆ PW_KEY_SEC_GID

#define PW_KEY_SEC_GID   "pipewire.sec.gid"

client gid, set by protocol

◆ PW_KEY_SEC_LABEL

#define PW_KEY_SEC_LABEL   "pipewire.sec.label"

client security label, set by protocol

◆ PW_KEY_LIBRARY_NAME_SYSTEM

#define PW_KEY_LIBRARY_NAME_SYSTEM   "library.name.system"

name of the system library to use

◆ PW_KEY_LIBRARY_NAME_LOOP

#define PW_KEY_LIBRARY_NAME_LOOP   "library.name.loop"

name of the loop library to use

◆ PW_KEY_LIBRARY_NAME_DBUS

#define PW_KEY_LIBRARY_NAME_DBUS   "library.name.dbus"

name of the dbus library to use

◆ PW_KEY_OBJECT_PATH

#define PW_KEY_OBJECT_PATH   "object.path"

object properties

unique path to construct the object

◆ PW_KEY_OBJECT_ID

#define PW_KEY_OBJECT_ID   "object.id"

a global object id

◆ PW_KEY_OBJECT_SERIAL

#define PW_KEY_OBJECT_SERIAL   "object.serial"

a 64 bit object serial number.

This is a number incremented for each object that is created. The lower 32 bits are guaranteed to never be SPA_ID_INVALID.

◆ PW_KEY_OBJECT_LINGER

#define PW_KEY_OBJECT_LINGER   "object.linger"

the object lives on even after the client that created it has been destroyed

◆ PW_KEY_OBJECT_REGISTER

#define PW_KEY_OBJECT_REGISTER   "object.register"

If the object should be registered.

◆ PW_KEY_CONFIG_PREFIX

#define PW_KEY_CONFIG_PREFIX   "config.prefix"

a config prefix directory

◆ PW_KEY_CONFIG_NAME

#define PW_KEY_CONFIG_NAME   "config.name"

a config file name

◆ PW_KEY_CONFIG_OVERRIDE_PREFIX

#define PW_KEY_CONFIG_OVERRIDE_PREFIX   "config.override.prefix"

a config override prefix directory

◆ PW_KEY_CONFIG_OVERRIDE_NAME

#define PW_KEY_CONFIG_OVERRIDE_NAME   "config.override.name"

a config override file name

◆ PW_KEY_CONTEXT_PROFILE_MODULES

#define PW_KEY_CONTEXT_PROFILE_MODULES   "context.profile.modules"

a context profile for modules, deprecated

◆ PW_KEY_USER_NAME

#define PW_KEY_USER_NAME   "context.user-name"

The user name that runs pipewire.

◆ PW_KEY_HOST_NAME

#define PW_KEY_HOST_NAME   "context.host-name"

The host name of the machine.

◆ PW_KEY_CORE_NAME

#define PW_KEY_CORE_NAME   "core.name"

The name of the core.

Default is pipewire-<username>-<pid>, overwritten by env(PIPEWIRE_CORE)

◆ PW_KEY_CORE_VERSION

#define PW_KEY_CORE_VERSION   "core.version"

The version of the core.

◆ PW_KEY_CORE_DAEMON

#define PW_KEY_CORE_DAEMON   "core.daemon"

If the core is listening for connections.

Examples
local-v4l2.c.

◆ PW_KEY_CORE_ID

#define PW_KEY_CORE_ID   "core.id"

the core id

◆ PW_KEY_CORE_MONITORS

#define PW_KEY_CORE_MONITORS   "core.monitors"

the apis monitored by core.

◆ PW_KEY_CPU_MAX_ALIGN

#define PW_KEY_CPU_MAX_ALIGN   "cpu.max-align"

maximum alignment needed to support all CPU optimizations

◆ PW_KEY_CPU_CORES

#define PW_KEY_CPU_CORES   "cpu.cores"

number of cores

◆ PW_KEY_PRIORITY_SESSION

#define PW_KEY_PRIORITY_SESSION   "priority.session"

priority in session manager

◆ PW_KEY_PRIORITY_DRIVER

#define PW_KEY_PRIORITY_DRIVER   "priority.driver"

priority to be a driver

Examples
video-play-pull.c.

◆ PW_KEY_REMOTE_NAME

#define PW_KEY_REMOTE_NAME   "remote.name"

The name of the remote to connect to, default pipewire-0, overwritten by env(PIPEWIRE_REMOTE)

◆ PW_KEY_REMOTE_INTENTION

#define PW_KEY_REMOTE_INTENTION   "remote.intention"

The intention of the remote connection, "generic", "screencast".

◆ PW_KEY_APP_NAME

#define PW_KEY_APP_NAME   "application.name"

application keys

application name. Ex: "Totem Music Player"

◆ PW_KEY_APP_ID

#define PW_KEY_APP_ID   "application.id"

a textual id for identifying an application logically.

Ex: "org.gnome.Totem"

◆ PW_KEY_APP_VERSION

#define PW_KEY_APP_VERSION   "application.version"

application version.

Ex: "1.2.0"

◆ PW_KEY_APP_ICON

#define PW_KEY_APP_ICON   "application.icon"

aa base64 blob with PNG image data

◆ PW_KEY_APP_ICON_NAME

#define PW_KEY_APP_ICON_NAME   "application.icon-name"

an XDG icon name for the application.

Ex: "totem"

◆ PW_KEY_APP_LANGUAGE

#define PW_KEY_APP_LANGUAGE   "application.language"

application language if applicable, in standard POSIX format.

Ex: "en_GB"

◆ PW_KEY_APP_PROCESS_ID

#define PW_KEY_APP_PROCESS_ID   "application.process.id"

process id (pid)

◆ PW_KEY_APP_PROCESS_BINARY

#define PW_KEY_APP_PROCESS_BINARY   "application.process.binary"

binary name

◆ PW_KEY_APP_PROCESS_USER

#define PW_KEY_APP_PROCESS_USER   "application.process.user"

user name

◆ PW_KEY_APP_PROCESS_HOST

#define PW_KEY_APP_PROCESS_HOST   "application.process.host"

host name

◆ PW_KEY_APP_PROCESS_MACHINE_ID

#define PW_KEY_APP_PROCESS_MACHINE_ID   "application.process.machine-id"

the D-Bus host id the application runs on

◆ PW_KEY_APP_PROCESS_SESSION_ID

#define PW_KEY_APP_PROCESS_SESSION_ID   "application.process.session-id"

login session of the application, on Unix the value of $XDG_SESSION_ID.

◆ PW_KEY_WINDOW_X11_DISPLAY

#define PW_KEY_WINDOW_X11_DISPLAY   "window.x11.display"

window system

the X11 display string. Ex. ":0.0"

◆ PW_KEY_CLIENT_ID

#define PW_KEY_CLIENT_ID   "client.id"

Client properties.

a client id

◆ PW_KEY_CLIENT_NAME

#define PW_KEY_CLIENT_NAME   "client.name"

the client name

◆ PW_KEY_CLIENT_API

#define PW_KEY_CLIENT_API   "client.api"

the client api used to access PipeWire

◆ PW_KEY_NODE_ID

#define PW_KEY_NODE_ID   "node.id"

Node keys.

node id

◆ PW_KEY_NODE_NAME

#define PW_KEY_NODE_NAME   "node.name"

node name

◆ PW_KEY_NODE_NICK

#define PW_KEY_NODE_NICK   "node.nick"

short node name

◆ PW_KEY_NODE_DESCRIPTION

#define PW_KEY_NODE_DESCRIPTION   "node.description"

localized human readable node one-line description.

Ex. "Foobar USB Headset"

◆ PW_KEY_NODE_PLUGGED

#define PW_KEY_NODE_PLUGGED   "node.plugged"

when the node was created.

As a uint64 in nanoseconds.

◆ PW_KEY_NODE_SESSION

#define PW_KEY_NODE_SESSION   "node.session"

the session id this node is part of

◆ PW_KEY_NODE_GROUP

#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.

◆ PW_KEY_NODE_EXCLUSIVE

#define PW_KEY_NODE_EXCLUSIVE   "node.exclusive"

node wants exclusive access to resources

Examples
export-source.c.

◆ PW_KEY_NODE_AUTOCONNECT

#define PW_KEY_NODE_AUTOCONNECT   "node.autoconnect"

node wants to be automatically connected to a compatible node

Examples
audio-dsp-src.c, export-sink.c, export-source.c, export-spa.c, and video-dsp-play.c.

◆ PW_KEY_NODE_TARGET

#define PW_KEY_NODE_TARGET   "node.target"

node wants to be connected to the target node/session

◆ PW_KEY_NODE_LATENCY

#define PW_KEY_NODE_LATENCY   "node.latency"

the requested latency of the node as a fraction.

Ex: 128/48000

◆ PW_KEY_NODE_MAX_LATENCY

#define PW_KEY_NODE_MAX_LATENCY   "node.max-latency"

the maximum supported latency of the node as a fraction.

Ex: 1024/48000

◆ PW_KEY_NODE_LOCK_QUANTUM

#define PW_KEY_NODE_LOCK_QUANTUM   "node.lock-quantum"

don't change quantum when this node is active

◆ PW_KEY_NODE_FORCE_QUANTUM

#define PW_KEY_NODE_FORCE_QUANTUM   "node.force-quantum"

force a quantum while the node is active

◆ PW_KEY_NODE_RATE

#define PW_KEY_NODE_RATE   "node.rate"

the requested rate of the graph as a fraction.

Ex: 1/48000

◆ PW_KEY_NODE_LOCK_RATE

#define PW_KEY_NODE_LOCK_RATE   "node.lock-rate"

don't change rate when this node is active

◆ PW_KEY_NODE_FORCE_RATE

#define PW_KEY_NODE_FORCE_RATE   "node.force-rate"

force a rate while the node is active

◆ PW_KEY_NODE_DONT_RECONNECT

#define PW_KEY_NODE_DONT_RECONNECT   "node.dont-reconnect"

don't reconnect this node.

The node is initially linked to node.target or target.object or the default node. If the targets is removed, the node is destroyed

◆ PW_KEY_NODE_ALWAYS_PROCESS

#define PW_KEY_NODE_ALWAYS_PROCESS   "node.always-process"

process even when unlinked

◆ PW_KEY_NODE_WANT_DRIVER

#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.

◆ PW_KEY_NODE_PAUSE_ON_IDLE

#define PW_KEY_NODE_PAUSE_ON_IDLE   "node.pause-on-idle"

pause the node when idle

◆ PW_KEY_NODE_SUSPEND_ON_IDLE

#define PW_KEY_NODE_SUSPEND_ON_IDLE   "node.suspend-on-idle"

suspend the node when idle

◆ PW_KEY_NODE_CACHE_PARAMS

#define PW_KEY_NODE_CACHE_PARAMS   "node.cache-params"

cache the node params

◆ PW_KEY_NODE_TRANSPORT_SYNC

#define PW_KEY_NODE_TRANSPORT_SYNC   "node.transport.sync"

the node handles transport sync

◆ PW_KEY_NODE_DRIVER

#define PW_KEY_NODE_DRIVER   "node.driver"

node can drive the graph

◆ PW_KEY_NODE_STREAM

#define PW_KEY_NODE_STREAM   "node.stream"

node is a stream, the server side should add a converter

◆ PW_KEY_NODE_VIRTUAL

#define PW_KEY_NODE_VIRTUAL   "node.virtual"

the node is some sort of virtual object

◆ PW_KEY_NODE_PASSIVE

#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

◆ PW_KEY_NODE_LINK_GROUP

#define PW_KEY_NODE_LINK_GROUP   "node.link-group"

the node is internally linked to nodes with the same link-group

◆ PW_KEY_NODE_NETWORK

#define PW_KEY_NODE_NETWORK   "node.network"

the node is on a network

◆ PW_KEY_NODE_TRIGGER

#define PW_KEY_NODE_TRIGGER   "node.trigger"

the node is not scheduled automatically based on the dependencies in the graph but it will be triggered explicitly.

◆ PW_KEY_PORT_ID

#define PW_KEY_PORT_ID   "port.id"

Port keys.

port id

◆ PW_KEY_PORT_NAME

#define PW_KEY_PORT_NAME   "port.name"

◆ PW_KEY_PORT_DIRECTION

#define PW_KEY_PORT_DIRECTION   "port.direction"

the port direction, one of "in" or "out" or "control" and "notify" for control ports

◆ PW_KEY_PORT_ALIAS

#define PW_KEY_PORT_ALIAS   "port.alias"

port alias

◆ PW_KEY_PORT_PHYSICAL

#define PW_KEY_PORT_PHYSICAL   "port.physical"

if this is a physical port

◆ PW_KEY_PORT_TERMINAL

#define PW_KEY_PORT_TERMINAL   "port.terminal"

if this port consumes the data

◆ PW_KEY_PORT_CONTROL

#define PW_KEY_PORT_CONTROL   "port.control"

if this port is a control port

◆ PW_KEY_PORT_MONITOR

#define PW_KEY_PORT_MONITOR   "port.monitor"

if this port is a monitor port

◆ PW_KEY_PORT_CACHE_PARAMS

#define PW_KEY_PORT_CACHE_PARAMS   "port.cache-params"

cache the node port params

◆ PW_KEY_PORT_EXTRA

#define PW_KEY_PORT_EXTRA   "port.extra"

api specific extra port info, API name should be prefixed.

"jack:flags:56"

◆ PW_KEY_LINK_ID

#define PW_KEY_LINK_ID   "link.id"

link properties

a link id

◆ PW_KEY_LINK_INPUT_NODE

#define PW_KEY_LINK_INPUT_NODE   "link.input.node"

input node id of a link

Examples
local-v4l2.c.

◆ PW_KEY_LINK_INPUT_PORT

#define PW_KEY_LINK_INPUT_PORT   "link.input.port"

input port id of a link

◆ PW_KEY_LINK_OUTPUT_NODE

#define PW_KEY_LINK_OUTPUT_NODE   "link.output.node"

output node id of a link

Examples
local-v4l2.c.

◆ PW_KEY_LINK_OUTPUT_PORT

#define PW_KEY_LINK_OUTPUT_PORT   "link.output.port"

output port id of a link

◆ PW_KEY_LINK_PASSIVE

#define PW_KEY_LINK_PASSIVE   "link.passive"

indicate that a link is passive and does not cause the graph to be runnable.

◆ PW_KEY_LINK_FEEDBACK

#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

◆ PW_KEY_DEVICE_ID

#define PW_KEY_DEVICE_ID   "device.id"

device properties

device id

◆ PW_KEY_DEVICE_NAME

#define PW_KEY_DEVICE_NAME   "device.name"

device name

◆ PW_KEY_DEVICE_PLUGGED

#define PW_KEY_DEVICE_PLUGGED   "device.plugged"

when the device was created.

As a uint64 in nanoseconds.

◆ PW_KEY_DEVICE_NICK

#define PW_KEY_DEVICE_NICK   "device.nick"

a short device nickname

◆ PW_KEY_DEVICE_STRING

#define PW_KEY_DEVICE_STRING   "device.string"

device string in the underlying layer's format.

Ex. "surround51:0"

◆ PW_KEY_DEVICE_API

#define PW_KEY_DEVICE_API   "device.api"

API this device is accessed with.

Ex. "alsa", "v4l2"

◆ PW_KEY_DEVICE_DESCRIPTION

#define PW_KEY_DEVICE_DESCRIPTION   "device.description"

localized human readable device one-line description.

Ex. "Foobar USB Headset"

◆ PW_KEY_DEVICE_BUS_PATH

#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"

◆ PW_KEY_DEVICE_SERIAL

#define PW_KEY_DEVICE_SERIAL   "device.serial"

Serial number if applicable.

◆ PW_KEY_DEVICE_VENDOR_ID

#define PW_KEY_DEVICE_VENDOR_ID   "device.vendor.id"

vendor ID if applicable

◆ PW_KEY_DEVICE_VENDOR_NAME

#define PW_KEY_DEVICE_VENDOR_NAME   "device.vendor.name"

vendor name if applicable

◆ PW_KEY_DEVICE_PRODUCT_ID

#define PW_KEY_DEVICE_PRODUCT_ID   "device.product.id"

product ID if applicable

◆ PW_KEY_DEVICE_PRODUCT_NAME

#define PW_KEY_DEVICE_PRODUCT_NAME   "device.product.name"

product name if applicable

◆ PW_KEY_DEVICE_CLASS

#define PW_KEY_DEVICE_CLASS   "device.class"

device class

◆ PW_KEY_DEVICE_FORM_FACTOR

#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"

◆ PW_KEY_DEVICE_BUS

#define PW_KEY_DEVICE_BUS   "device.bus"

bus of the device if applicable.

One of "isa", "pci", "usb", "firewire", "bluetooth"

◆ PW_KEY_DEVICE_SUBSYSTEM

#define PW_KEY_DEVICE_SUBSYSTEM   "device.subsystem"

device subsystem

◆ PW_KEY_DEVICE_SYSFS_PATH

#define PW_KEY_DEVICE_SYSFS_PATH   "device.sysfs.path"

device sysfs path

◆ PW_KEY_DEVICE_ICON

#define PW_KEY_DEVICE_ICON   "device.icon"

icon for the device.

A base64 blob containing PNG image data

◆ PW_KEY_DEVICE_ICON_NAME

#define PW_KEY_DEVICE_ICON_NAME   "device.icon-name"

an XDG icon name for the device.

Ex. "sound-card-speakers-usb"

◆ PW_KEY_DEVICE_INTENDED_ROLES

#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.

◆ PW_KEY_DEVICE_CACHE_PARAMS

#define PW_KEY_DEVICE_CACHE_PARAMS   "device.cache-params"

cache the device spa params

◆ PW_KEY_MODULE_ID

#define PW_KEY_MODULE_ID   "module.id"

module properties

the module id

◆ PW_KEY_MODULE_NAME

#define PW_KEY_MODULE_NAME   "module.name"

the name of the module

◆ PW_KEY_MODULE_AUTHOR

#define PW_KEY_MODULE_AUTHOR   "module.author"

the author's name

◆ PW_KEY_MODULE_DESCRIPTION

#define PW_KEY_MODULE_DESCRIPTION   "module.description"

a human readable one-line description of the module's purpose.

◆ PW_KEY_MODULE_USAGE

#define PW_KEY_MODULE_USAGE   "module.usage"

a human readable usage description of the module's arguments.

◆ PW_KEY_MODULE_VERSION

#define PW_KEY_MODULE_VERSION   "module.version"

a version string for the module.

◆ PW_KEY_FACTORY_ID

#define PW_KEY_FACTORY_ID   "factory.id"

Factory properties.

the factory id

◆ PW_KEY_FACTORY_NAME

#define PW_KEY_FACTORY_NAME   "factory.name"

the name of the factory

◆ PW_KEY_FACTORY_USAGE

#define PW_KEY_FACTORY_USAGE   "factory.usage"

the usage of the factory

◆ PW_KEY_FACTORY_TYPE_NAME

#define PW_KEY_FACTORY_TYPE_NAME   "factory.type.name"

the name of the type created by a factory

◆ PW_KEY_FACTORY_TYPE_VERSION

#define PW_KEY_FACTORY_TYPE_VERSION   "factory.type.version"

the version of the type created by a factory

◆ PW_KEY_STREAM_IS_LIVE

#define PW_KEY_STREAM_IS_LIVE   "stream.is-live"

Stream properties.

Indicates that the stream is live.

◆ PW_KEY_STREAM_LATENCY_MIN

#define PW_KEY_STREAM_LATENCY_MIN   "stream.latency.min"

The minimum latency of the stream.

◆ PW_KEY_STREAM_LATENCY_MAX

#define PW_KEY_STREAM_LATENCY_MAX   "stream.latency.max"

The maximum latency of the stream.

◆ PW_KEY_STREAM_MONITOR

#define PW_KEY_STREAM_MONITOR   "stream.monitor"

Indicates that the stream is monitoring and might select a less accurate but faster conversion algorithm.

◆ PW_KEY_STREAM_DONT_REMIX

#define PW_KEY_STREAM_DONT_REMIX   "stream.dont-remix"

don't remix channels

◆ PW_KEY_STREAM_CAPTURE_SINK

#define PW_KEY_STREAM_CAPTURE_SINK   "stream.capture.sink"

Try to capture the sink output instead of source output.

◆ PW_KEY_MEDIA_TYPE

#define PW_KEY_MEDIA_TYPE   "media.type"

◆ PW_KEY_MEDIA_CATEGORY

#define PW_KEY_MEDIA_CATEGORY   "media.category"

◆ PW_KEY_MEDIA_ROLE

#define PW_KEY_MEDIA_ROLE   "media.role"

Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test.

Examples
audio-capture.c, audio-dsp-filter.c, audio-dsp-src.c, audio-src.c, export-sink.c, export-source.c, tutorial4.c, tutorial5.c, video-dsp-play.c, video-play-fixate.c, video-play-pull.c, video-play-reneg.c, and video-play.c.

◆ PW_KEY_MEDIA_CLASS

#define PW_KEY_MEDIA_CLASS   "media.class"

◆ PW_KEY_MEDIA_NAME

#define PW_KEY_MEDIA_NAME   "media.name"

media name.

Ex: "Pink Floyd: Time"

◆ PW_KEY_MEDIA_TITLE

#define PW_KEY_MEDIA_TITLE   "media.title"

title.

Ex: "Time"

◆ PW_KEY_MEDIA_ARTIST

#define PW_KEY_MEDIA_ARTIST   "media.artist"

artist.

Ex: "Pink Floyd"

◆ PW_KEY_MEDIA_COPYRIGHT

#define PW_KEY_MEDIA_COPYRIGHT   "media.copyright"

copyright string

◆ PW_KEY_MEDIA_SOFTWARE

#define PW_KEY_MEDIA_SOFTWARE   "media.software"

generator software

◆ PW_KEY_MEDIA_LANGUAGE

#define PW_KEY_MEDIA_LANGUAGE   "media.language"

language in POSIX format.

Ex: en_GB

◆ PW_KEY_MEDIA_FILENAME

#define PW_KEY_MEDIA_FILENAME   "media.filename"

filename

◆ PW_KEY_MEDIA_ICON

#define PW_KEY_MEDIA_ICON   "media.icon"

icon for the media, a base64 blob with PNG image data

◆ PW_KEY_MEDIA_ICON_NAME

#define PW_KEY_MEDIA_ICON_NAME   "media.icon-name"

an XDG icon name for the media.

Ex: "audio-x-mp3"

◆ PW_KEY_MEDIA_COMMENT

#define PW_KEY_MEDIA_COMMENT   "media.comment"

extra comment

◆ PW_KEY_MEDIA_DATE

#define PW_KEY_MEDIA_DATE   "media.date"

date of the media

◆ PW_KEY_MEDIA_FORMAT

#define PW_KEY_MEDIA_FORMAT   "media.format"

format of the media

◆ PW_KEY_FORMAT_DSP

#define PW_KEY_FORMAT_DSP   "format.dsp"

format related properties

a dsp format. Ex: "32 bit float mono audio"

Examples
audio-dsp-filter.c, audio-dsp-src.c, export-source.c, and video-dsp-play.c.

◆ PW_KEY_AUDIO_CHANNEL

#define PW_KEY_AUDIO_CHANNEL   "audio.channel"

audio related properties

an audio channel. Ex: "FL"

◆ PW_KEY_AUDIO_RATE

#define PW_KEY_AUDIO_RATE   "audio.rate"

an audio samplerate

◆ PW_KEY_AUDIO_CHANNELS

#define PW_KEY_AUDIO_CHANNELS   "audio.channels"

number of audio channels

◆ PW_KEY_AUDIO_FORMAT

#define PW_KEY_AUDIO_FORMAT   "audio.format"

an audio format.

Ex: "S16LE"

◆ PW_KEY_AUDIO_ALLOWED_RATES

#define PW_KEY_AUDIO_ALLOWED_RATES   "audio.allowed-rates"

a list of allowed samplerates ex.

"[ 44100 48000 ]"

◆ PW_KEY_VIDEO_RATE

#define PW_KEY_VIDEO_RATE   "video.framerate"

video related properties

a video framerate

◆ PW_KEY_VIDEO_FORMAT

#define PW_KEY_VIDEO_FORMAT   "video.format"

a video format

◆ PW_KEY_VIDEO_SIZE

#define PW_KEY_VIDEO_SIZE   "video.size"

a video size as "<width>x<height"

◆ PW_KEY_TARGET_OBJECT

#define PW_KEY_TARGET_OBJECT   "target.object"