PipeWire 1.2.7
|
Files | |
file | keys.h |
pipewire/keys.h | |
Macros | |
#define | PW_KEY_PROTOCOL "pipewire.protocol" |
protocol used for connection | |
#define | PW_KEY_ACCESS "pipewire.access" |
how the client access is controlled | |
#define | PW_KEY_CLIENT_ACCESS "pipewire.client.access |
how the client wants to be access controlled | |
#define | PW_KEY_SEC_PID "pipewire.sec.pid" |
Various keys related to the identity of a client process and its security. | |
#define | PW_KEY_SEC_UID "pipewire.sec.uid" |
Client uid, set by protocol. | |
#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_SOCKET "pipewire.sec.socket" |
client socket name, set by protocol | |
#define | PW_KEY_SEC_ENGINE "pipewire.sec.engine" |
client secure context engine, set by protocol. | |
#define | PW_KEY_SEC_APP_ID "pipewire.sec.app-id" |
client secure application id | |
#define | PW_KEY_SEC_INSTANCE_ID "pipewire.sec.instance-id" |
client secure instance id | |
#define | PW_KEY_LIBRARY_NAME_SYSTEM "library.name.system" |
name of the system library to use | |
#define | PW_KEY_LIBRARY_NAME_LOOP "library.name.loop" |
name of the loop library to use | |
#define | PW_KEY_LIBRARY_NAME_DBUS "library.name.dbus" |
name of the dbus library to use | |
#define | PW_KEY_OBJECT_PATH "object.path" |
object properties | |
#define | PW_KEY_OBJECT_ID "object.id" |
a global object id | |
#define | PW_KEY_OBJECT_SERIAL "object.serial" |
a 64 bit object serial number. | |
#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_REGISTER "object.register" |
If the object should be registered. | |
#define | PW_KEY_OBJECT_EXPORT "object.export" |
If the object should be exported, since 0.3.72. | |
#define | PW_KEY_CONFIG_PREFIX "config.prefix" |
a config prefix directory | |
#define | PW_KEY_CONFIG_NAME "config.name" |
a config file name | |
#define | PW_KEY_CONFIG_OVERRIDE_PREFIX "config.override.prefix" |
a config override prefix directory | |
#define | PW_KEY_CONFIG_OVERRIDE_NAME "config.override.name" |
a config override file name | |
#define | PW_KEY_LOOP_NAME "loop.name" |
the name of a loop | |
#define | PW_KEY_LOOP_CLASS "loop.class" |
the classes this loop handles, array of strings | |
#define | PW_KEY_LOOP_RT_PRIO "loop.rt-prio" |
realtime priority of the loop | |
#define | PW_KEY_LOOP_CANCEL "loop.cancel" |
if the loop can be canceled | |
#define | PW_KEY_CONTEXT_PROFILE_MODULES "context.profile.modules" |
a context profile for modules, deprecated | |
#define | PW_KEY_USER_NAME "context.user-name" |
The user name that runs pipewire. | |
#define | PW_KEY_HOST_NAME "context.host-name" |
The host name of the machine. | |
#define | PW_KEY_CORE_NAME "core.name" |
The name of the core. | |
#define | PW_KEY_CORE_VERSION "core.version" |
The version of the core. | |
#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_CPU_MAX_ALIGN "cpu.max-align" |
maximum alignment needed to support all CPU optimizations | |
#define | PW_KEY_CPU_CORES "cpu.cores" |
number of cores | |
#define | PW_KEY_PRIORITY_SESSION "priority.session" |
priority in session manager | |
#define | PW_KEY_PRIORITY_DRIVER "priority.driver" |
priority to be a driver | |
#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_REMOTE_INTENTION "remote.intention" |
The intention of the remote connection, "generic", "screencast". | |
#define | PW_KEY_APP_NAME "application.name" |
application keys | |
#define | PW_KEY_APP_ID "application.id" |
a textual id for identifying an application logically. | |
#define | PW_KEY_APP_VERSION "application.version" |
application version. | |
#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. | |
#define | PW_KEY_APP_LANGUAGE "application.language" |
application language if applicable, in standard POSIX format. | |
#define | PW_KEY_APP_PROCESS_ID "application.process.id" |
process id (pid) | |
#define | PW_KEY_APP_PROCESS_BINARY "application.process.binary" |
binary name | |
#define | PW_KEY_APP_PROCESS_USER "application.process.user" |
user name | |
#define | PW_KEY_APP_PROCESS_HOST "application.process.host" |
host name | |
#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_WINDOW_X11_DISPLAY "window.x11.display" |
window system | |
#define | PW_KEY_CLIENT_ID "client.id" |
Client properties. | |
#define | PW_KEY_CLIENT_NAME "client.name" |
the client name | |
#define | PW_KEY_CLIENT_API "client.api" |
the client api used to access PipeWire | |
#define | PW_KEY_NODE_ID "node.id" |
Node keys. | |
#define | PW_KEY_NODE_NAME "node.name" |
node name | |
#define | PW_KEY_NODE_NICK "node.nick" |
short node name | |
#define | PW_KEY_NODE_DESCRIPTION "node.description" |
localized human readable node one-line description. | |
#define | PW_KEY_NODE_PLUGGED "node.plugged" |
when the node was created. | |
#define | PW_KEY_NODE_SESSION "node.session" |
the session id this node is part of | |
#define | PW_KEY_NODE_GROUP "node.group" |
the group id this node is part of. | |
#define | PW_KEY_NODE_SYNC_GROUP "node.sync-group" |
the sync group this node is part of. | |
#define | PW_KEY_NODE_SYNC "node.sync" |
if the sync-group is active or not | |
#define | PW_KEY_NODE_TRANSPORT "node.transport" |
if the transport is active or not | |
#define | PW_KEY_NODE_EXCLUSIVE "node.exclusive" |
node wants exclusive access to resources | |
#define | PW_KEY_NODE_AUTOCONNECT "node.autoconnect" |
node wants to be automatically connected to a compatible node | |
#define | PW_KEY_NODE_LATENCY "node.latency" |
the requested latency of the node as a fraction. | |
#define | PW_KEY_NODE_MAX_LATENCY "node.max-latency" |
the maximum supported latency of the node as a fraction. | |
#define | PW_KEY_NODE_LOCK_QUANTUM "node.lock-quantum" |
don't change quantum when this node is active | |
#define | PW_KEY_NODE_FORCE_QUANTUM "node.force-quantum" |
force a quantum while the node is active | |
#define | PW_KEY_NODE_RATE "node.rate" |
the requested rate of the graph as a fraction. | |
#define | PW_KEY_NODE_LOCK_RATE "node.lock-rate" |
don't change rate when this node is active | |
#define | PW_KEY_NODE_FORCE_RATE "node.force-rate" |
force a rate while the node is active. | |
#define | PW_KEY_NODE_DONT_RECONNECT "node.dont-reconnect" |
don't reconnect this node. | |
#define | PW_KEY_NODE_ALWAYS_PROCESS "node.always-process" |
process even when unlinked | |
#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_NODE_PAUSE_ON_IDLE "node.pause-on-idle" |
pause the node when idle | |
#define | PW_KEY_NODE_SUSPEND_ON_IDLE "node.suspend-on-idle" |
suspend the node when idle | |
#define | PW_KEY_NODE_CACHE_PARAMS "node.cache-params" |
cache the node params | |
#define | PW_KEY_NODE_TRANSPORT_SYNC "node.transport.sync" |
the node handles transport sync | |
#define | PW_KEY_NODE_DRIVER "node.driver" |
node can drive the graph. | |
#define | PW_KEY_NODE_SUPPORTS_LAZY "node.supports-lazy" |
the node can be a lazy driver. | |
#define | PW_KEY_NODE_SUPPORTS_REQUEST "node.supports-request" |
The node supports emiting RequestProcess events when it wants the graph to be scheduled. | |
#define | PW_KEY_NODE_DRIVER_ID "node.driver-id" |
the node id of the node assigned as driver for this node | |
#define | PW_KEY_NODE_ASYNC "node.async" |
the node wants async scheduling | |
#define | PW_KEY_NODE_LOOP_NAME "node.loop.name" |
the loop name fnmatch pattern to run in | |
#define | PW_KEY_NODE_LOOP_CLASS "node.loop.class" |
the loop class fnmatch pattern to run in | |
#define | PW_KEY_NODE_STREAM "node.stream" |
node is a stream, the server side should add a converter | |
#define | PW_KEY_NODE_VIRTUAL "node.virtual" |
the node is some sort of virtual object | |
#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_LINK_GROUP "node.link-group" |
the node is internally linked to nodes with the same link-group. | |
#define | PW_KEY_NODE_NETWORK "node.network" |
the node is on a network | |
#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. | |
#define | PW_KEY_NODE_CHANNELNAMES "node.channel-names" |
names of node's channels (unrelated to positions) | |
#define | PW_KEY_NODE_DEVICE_PORT_NAME_PREFIX "node.device-port-name-prefix" |
override port name prefix for device ports, like capture and playback or disable the prefix completely if an empty string is provided | |
#define | PW_KEY_PORT_ID "port.id" |
Port keys. | |
#define | PW_KEY_PORT_NAME "port.name" |
port name | |
#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_ALIAS "port.alias" |
port alias | |
#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_PORT_CONTROL "port.control" |
if this port is a control port | |
#define | PW_KEY_PORT_MONITOR "port.monitor" |
if this port is a monitor port | |
#define | PW_KEY_PORT_CACHE_PARAMS "port.cache-params" |
cache the node port params | |
#define | PW_KEY_PORT_EXTRA "port.extra" |
api specific extra port info, API name should be prefixed. | |
#define | PW_KEY_PORT_PASSIVE "port.passive" |
the ports wants passive links, since 0.3.67 | |
#define | PW_KEY_PORT_IGNORE_LATENCY "port.ignore-latency" |
latency ignored by peers, since 0.3.71 | |
#define | PW_KEY_PORT_GROUP "port.group" |
the port group of the port 1.2.0 | |
#define | PW_KEY_LINK_ID "link.id" |
link properties | |
#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_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_ASYNC "link.async" |
the link is using async io | |
#define | PW_KEY_DEVICE_ID "device.id" |
device properties | |
#define | PW_KEY_DEVICE_NAME "device.name" |
device name | |
#define | PW_KEY_DEVICE_PLUGGED "device.plugged" |
when the device was created. | |
#define | PW_KEY_DEVICE_NICK "device.nick" |
a short device nickname | |
#define | PW_KEY_DEVICE_STRING "device.string" |
device string in the underlying layer's format. | |
#define | PW_KEY_DEVICE_API "device.api" |
API this device is accessed with. | |
#define | PW_KEY_DEVICE_DESCRIPTION "device.description" |
localized human readable device one-line description. | |
#define | PW_KEY_DEVICE_BUS_PATH "device.bus-path" |
bus path to the device in the OS' format. | |
#define | PW_KEY_DEVICE_SERIAL "device.serial" |
Serial number if applicable. | |
#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_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_CLASS "device.class" |
device class | |
#define | PW_KEY_DEVICE_FORM_FACTOR "device.form-factor" |
form factor if applicable. | |
#define | PW_KEY_DEVICE_BUS "device.bus" |
bus of the device if applicable. | |
#define | PW_KEY_DEVICE_SUBSYSTEM "device.subsystem" |
device subsystem | |
#define | PW_KEY_DEVICE_SYSFS_PATH "device.sysfs.path" |
device sysfs path | |
#define | PW_KEY_DEVICE_ICON "device.icon" |
icon for the device. | |
#define | PW_KEY_DEVICE_ICON_NAME "device.icon-name" |
an XDG icon name for the device. | |
#define | PW_KEY_DEVICE_INTENDED_ROLES "device.intended-roles" |
intended use. | |
#define | PW_KEY_DEVICE_CACHE_PARAMS "device.cache-params" |
cache the device spa params | |
#define | PW_KEY_MODULE_ID "module.id" |
module properties | |
#define | PW_KEY_MODULE_NAME "module.name" |
the name of the module | |
#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_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_MODULE_DEPRECATED "module.deprecated" |
the module is deprecated with this message | |
#define | PW_KEY_FACTORY_ID "factory.id" |
Factory properties. | |
#define | PW_KEY_FACTORY_NAME "factory.name" |
the name of the factory | |
#define | PW_KEY_FACTORY_USAGE "factory.usage" |
the usage 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_STREAM_IS_LIVE "stream.is-live" |
Stream properties. | |
#define | PW_KEY_STREAM_LATENCY_MIN "stream.latency.min" |
The minimum latency of the stream. | |
#define | PW_KEY_STREAM_LATENCY_MAX "stream.latency.max" |
The maximum 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_STREAM_DONT_REMIX "stream.dont-remix" |
don't remix channels | |
#define | PW_KEY_STREAM_CAPTURE_SINK "stream.capture.sink" |
Try to capture the sink output instead of source output. | |
#define | PW_KEY_MEDIA_TYPE "media.type" |
Media. | |
#define | PW_KEY_MEDIA_CATEGORY "media.category" |
Media Category: Playback, Capture, Duplex, Monitor, Manager. | |
#define | PW_KEY_MEDIA_ROLE "media.role" |
Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test. | |
#define | PW_KEY_MEDIA_CLASS "media.class" |
class Ex: "Video/Source" | |
#define | PW_KEY_MEDIA_NAME "media.name" |
media name. | |
#define | PW_KEY_MEDIA_TITLE "media.title" |
title. | |
#define | PW_KEY_MEDIA_ARTIST "media.artist" |
artist. | |
#define | PW_KEY_MEDIA_ALBUM "media.album" |
album. | |
#define | PW_KEY_MEDIA_COPYRIGHT "media.copyright" |
copyright string | |
#define | PW_KEY_MEDIA_SOFTWARE "media.software" |
generator software | |
#define | PW_KEY_MEDIA_LANGUAGE "media.language" |
language in POSIX format. | |
#define | PW_KEY_MEDIA_FILENAME "media.filename" |
filename | |
#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. | |
#define | PW_KEY_MEDIA_COMMENT "media.comment" |
extra comment | |
#define | PW_KEY_MEDIA_DATE "media.date" |
date of the media | |
#define | PW_KEY_MEDIA_FORMAT "media.format" |
format of the media | |
#define | PW_KEY_FORMAT_DSP "format.dsp" |
format related properties | |
#define | PW_KEY_AUDIO_CHANNEL "audio.channel" |
audio related properties | |
#define | PW_KEY_AUDIO_RATE "audio.rate" |
an audio samplerate | |
#define | PW_KEY_AUDIO_CHANNELS "audio.channels" |
number of audio channels | |
#define | PW_KEY_AUDIO_FORMAT "audio.format" |
an audio format. | |
#define | PW_KEY_AUDIO_ALLOWED_RATES "audio.allowed-rates" |
a list of allowed samplerates ex. | |
#define | PW_KEY_VIDEO_RATE "video.framerate" |
video related properties | |
#define | PW_KEY_VIDEO_FORMAT "video.format" |
a video format | |
#define | PW_KEY_VIDEO_SIZE "video.size" |
a video size as "<width>x<height" | |
#define | PW_KEY_TARGET_OBJECT "target.object" |
a target object to link to. | |
#define | PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master") |
#define | PW_KEY_NODE_TARGET PW_DEPRECATED("node.target") |
#define | PW_KEY_LOOP_RETRY_TIMEOUT PW_DEPRECATED("loop.retry-timeout") |
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_PROTOCOL "pipewire.protocol" |
protocol used for connection
#define PW_KEY_ACCESS "pipewire.access" |
how the client access is controlled
#define PW_KEY_CLIENT_ACCESS "pipewire.client.access |
how the client wants to be access controlled
#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_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_SOCKET "pipewire.sec.socket" |
client socket name, set by protocol
#define PW_KEY_SEC_ENGINE "pipewire.sec.engine" |
client secure context engine, set by protocol.
This can also be set by a client when making a new security context.
#define PW_KEY_SEC_APP_ID "pipewire.sec.app-id" |
client secure application id
#define PW_KEY_SEC_INSTANCE_ID "pipewire.sec.instance-id" |
client secure instance id
#define PW_KEY_LIBRARY_NAME_SYSTEM "library.name.system" |
name of the system library to use
#define PW_KEY_LIBRARY_NAME_LOOP "library.name.loop" |
name of the loop library to use
#define PW_KEY_LIBRARY_NAME_DBUS "library.name.dbus" |
name of the dbus library to use
#define PW_KEY_OBJECT_PATH "object.path" |
object properties
unique path to construct the object
#define PW_KEY_OBJECT_ID "object.id" |
a global object id
#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.
#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_REGISTER "object.register" |
If the object should be registered.
#define PW_KEY_OBJECT_EXPORT "object.export" |
If the object should be exported, since 0.3.72.
#define PW_KEY_CONFIG_PREFIX "config.prefix" |
a config prefix directory
#define PW_KEY_CONFIG_NAME "config.name" |
a config file name
#define PW_KEY_CONFIG_OVERRIDE_PREFIX "config.override.prefix" |
a config override prefix directory
#define PW_KEY_CONFIG_OVERRIDE_NAME "config.override.name" |
a config override file name
#define PW_KEY_LOOP_NAME "loop.name" |
the name of a loop
#define PW_KEY_LOOP_CLASS "loop.class" |
the classes this loop handles, array of strings
#define PW_KEY_LOOP_RT_PRIO "loop.rt-prio" |
realtime priority of the loop
#define PW_KEY_LOOP_CANCEL "loop.cancel" |
if the loop can be canceled
#define PW_KEY_CONTEXT_PROFILE_MODULES "context.profile.modules" |
a context profile for modules, deprecated
#define PW_KEY_USER_NAME "context.user-name" |
The user name that runs pipewire.
#define PW_KEY_HOST_NAME "context.host-name" |
The host name of the machine.
#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_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_CPU_MAX_ALIGN "cpu.max-align" |
maximum alignment needed to support all CPU optimizations
#define PW_KEY_CPU_CORES "cpu.cores" |
number of cores
#define PW_KEY_PRIORITY_SESSION "priority.session" |
priority in session manager
#define PW_KEY_PRIORITY_DRIVER "priority.driver" |
priority to be a driver
#define PW_KEY_REMOTE_NAME "remote.name" |
The name of the remote to connect to, default pipewire-0, overwritten by env(PIPEWIRE_REMOTE).
May also be a SPA-JSON array of sockets, to be tried in order.
#define PW_KEY_REMOTE_INTENTION "remote.intention" |
The intention of the remote connection, "generic", "screencast".
#define PW_KEY_APP_NAME "application.name" |
application keys
application name. Ex: "Totem Music Player"
#define PW_KEY_APP_ID "application.id" |
a textual id for identifying an application logically.
Ex: "org.gnome.Totem"
#define PW_KEY_APP_VERSION "application.version" |
application version.
Ex: "1.2.0"
#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_LANGUAGE "application.language" |
application language if applicable, in standard POSIX format.
Ex: "en_GB"
#define PW_KEY_APP_PROCESS_ID "application.process.id" |
process id (pid)
#define PW_KEY_APP_PROCESS_BINARY "application.process.binary" |
binary name
#define PW_KEY_APP_PROCESS_USER "application.process.user" |
user name
#define PW_KEY_APP_PROCESS_HOST "application.process.host" |
host name
#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_WINDOW_X11_DISPLAY "window.x11.display" |
window system
the X11 display string. Ex. ":0.0"
#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_CLIENT_API "client.api" |
the client api used to access PipeWire
#define PW_KEY_NODE_ID "node.id" |
Node keys.
node id
#define PW_KEY_NODE_NAME "node.name" |
node name
#define PW_KEY_NODE_NICK "node.nick" |
short node name
#define PW_KEY_NODE_DESCRIPTION "node.description" |
localized human readable node one-line description.
Ex. "Foobar USB Headset"
#define PW_KEY_NODE_PLUGGED "node.plugged" |
when the node was created.
As a uint64 in nanoseconds.
#define PW_KEY_NODE_SESSION "node.session" |
the session id this node is part of
#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. Can be an array of group names.
#define PW_KEY_NODE_SYNC_GROUP "node.sync-group" |
the sync group this node is part of.
Nodes in the same sync group are always scheduled together with the same driver when the sync is active. Can be an array of sync names.
#define PW_KEY_NODE_SYNC "node.sync" |
if the sync-group is active or not
#define PW_KEY_NODE_TRANSPORT "node.transport" |
if the transport is active or not
#define PW_KEY_NODE_EXCLUSIVE "node.exclusive" |
node wants exclusive access to resources
#define PW_KEY_NODE_AUTOCONNECT "node.autoconnect" |
node wants to be automatically connected to a compatible node
#define PW_KEY_NODE_LATENCY "node.latency" |
the requested latency of the node as a fraction.
Ex: 128/48000
#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_LOCK_QUANTUM "node.lock-quantum" |
don't change quantum when this node is active
#define PW_KEY_NODE_FORCE_QUANTUM "node.force-quantum" |
force a quantum while the node is active
#define PW_KEY_NODE_RATE "node.rate" |
the requested rate of the graph as a fraction.
Ex: 1/48000
#define PW_KEY_NODE_LOCK_RATE "node.lock-rate" |
don't change rate when this node is active
#define PW_KEY_NODE_FORCE_RATE "node.force-rate" |
force a rate while the node is active.
A value of 0 takes the denominator of node.rate
#define PW_KEY_NODE_DONT_RECONNECT "node.dont-reconnect" |
don't reconnect this node.
The node is initially linked to target.object or the default node. If the target is removed, the node is destroyed
#define PW_KEY_NODE_ALWAYS_PROCESS "node.always-process" |
process even when unlinked
#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_NODE_PAUSE_ON_IDLE "node.pause-on-idle" |
pause the node when idle
#define PW_KEY_NODE_SUSPEND_ON_IDLE "node.suspend-on-idle" |
suspend the node when idle
#define PW_KEY_NODE_CACHE_PARAMS "node.cache-params" |
cache the node params
#define PW_KEY_NODE_TRANSPORT_SYNC "node.transport.sync" |
the node handles transport sync
#define PW_KEY_NODE_DRIVER "node.driver" |
node can drive the graph.
When the node is selected as the driver, it needs to start the graph periodically.
#define PW_KEY_NODE_SUPPORTS_LAZY "node.supports-lazy" |
the node can be a lazy driver.
It will listen to RequestProcess commands and take them into account when deciding to start the graph. A value of 0 disables support, a value of > 0 enables with increasing preference.
#define PW_KEY_NODE_SUPPORTS_REQUEST "node.supports-request" |
The node supports emiting RequestProcess events when it wants the graph to be scheduled.
A value of 0 disables support, a value of > 0 enables with increasing preference.
#define PW_KEY_NODE_DRIVER_ID "node.driver-id" |
the node id of the node assigned as driver for this node
#define PW_KEY_NODE_ASYNC "node.async" |
the node wants async scheduling
#define PW_KEY_NODE_LOOP_NAME "node.loop.name" |
the loop name fnmatch pattern to run in
#define PW_KEY_NODE_LOOP_CLASS "node.loop.class" |
the loop class fnmatch pattern to run in
#define PW_KEY_NODE_STREAM "node.stream" |
node is a stream, the server side should add a converter
#define PW_KEY_NODE_VIRTUAL "node.virtual" |
the node is some sort of virtual object
#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_LINK_GROUP "node.link-group" |
the node is internally linked to nodes with the same link-group.
Can be an array of group names.
#define PW_KEY_NODE_NETWORK "node.network" |
the node is on a network
#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.
#define PW_KEY_NODE_CHANNELNAMES "node.channel-names" |
names of node's channels (unrelated to positions)
#define PW_KEY_NODE_DEVICE_PORT_NAME_PREFIX "node.device-port-name-prefix" |
override port name prefix for device ports, like capture and playback or disable the prefix completely if an empty string is provided
#define PW_KEY_PORT_ID "port.id" |
Port keys.
port id
#define PW_KEY_PORT_NAME "port.name" |
port name
#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_ALIAS "port.alias" |
port alias
#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_PORT_CONTROL "port.control" |
if this port is a control port
#define PW_KEY_PORT_MONITOR "port.monitor" |
if this port is a monitor port
#define PW_KEY_PORT_CACHE_PARAMS "port.cache-params" |
cache the node port params
#define PW_KEY_PORT_EXTRA "port.extra" |
api specific extra port info, API name should be prefixed.
"jack:flags:56"
#define PW_KEY_PORT_PASSIVE "port.passive" |
the ports wants passive links, since 0.3.67
#define PW_KEY_PORT_IGNORE_LATENCY "port.ignore-latency" |
latency ignored by peers, since 0.3.71
#define PW_KEY_PORT_GROUP "port.group" |
the port group of the port 1.2.0
#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_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_ASYNC "link.async" |
the link is using async io
#define PW_KEY_DEVICE_ID "device.id" |
device properties
device id
#define PW_KEY_DEVICE_NAME "device.name" |
device name
#define PW_KEY_DEVICE_PLUGGED "device.plugged" |
when the device was created.
As a uint64 in nanoseconds.
#define PW_KEY_DEVICE_NICK "device.nick" |
a short device nickname
#define PW_KEY_DEVICE_STRING "device.string" |
device string in the underlying layer's format.
Ex. "surround51:0"
#define PW_KEY_DEVICE_API "device.api" |
API this device is accessed with.
Ex. "alsa", "v4l2"
#define PW_KEY_DEVICE_DESCRIPTION "device.description" |
localized human readable device one-line description.
Ex. "Foobar USB Headset"
#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_SERIAL "device.serial" |
Serial number if applicable.
#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_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_CLASS "device.class" |
device class
#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_BUS "device.bus" |
bus of the device if applicable.
One of "isa", "pci", "usb", "firewire", "bluetooth"
#define PW_KEY_DEVICE_SUBSYSTEM "device.subsystem" |
device subsystem
#define PW_KEY_DEVICE_SYSFS_PATH "device.sysfs.path" |
device sysfs path
#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_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_CACHE_PARAMS "device.cache-params" |
cache the device spa params
#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_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_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_MODULE_DEPRECATED "module.deprecated" |
the module is deprecated with this message
#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_USAGE "factory.usage" |
the usage 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_STREAM_IS_LIVE "stream.is-live" |
Stream properties.
Indicates that the stream is live.
#define PW_KEY_STREAM_LATENCY_MIN "stream.latency.min" |
The minimum latency of the stream.
#define PW_KEY_STREAM_LATENCY_MAX "stream.latency.max" |
The maximum 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.
Monitor streams are also ignored when calculating the latency of their peer ports (since 0.3.71).
#define PW_KEY_STREAM_DONT_REMIX "stream.dont-remix" |
don't remix channels
#define PW_KEY_STREAM_CAPTURE_SINK "stream.capture.sink" |
Try to capture the sink output instead of source output.
#define PW_KEY_MEDIA_TYPE "media.type" |
Media.
Media type, one of Audio, Video, Midi
#define PW_KEY_MEDIA_CATEGORY "media.category" |
Media Category: Playback, Capture, Duplex, Monitor, Manager.
#define PW_KEY_MEDIA_ROLE "media.role" |
Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test.
#define PW_KEY_MEDIA_CLASS "media.class" |
class Ex: "Video/Source"
#define PW_KEY_MEDIA_NAME "media.name" |
media name.
Ex: "Pink Floyd: Time"
#define PW_KEY_MEDIA_TITLE "media.title" |
title.
Ex: "Time"
#define PW_KEY_MEDIA_ARTIST "media.artist" |
artist.
Ex: "Pink Floyd"
#define PW_KEY_MEDIA_ALBUM "media.album" |
album.
Ex: "Dark Side of the Moon"
#define PW_KEY_MEDIA_COPYRIGHT "media.copyright" |
copyright string
#define PW_KEY_MEDIA_SOFTWARE "media.software" |
generator software
#define PW_KEY_MEDIA_LANGUAGE "media.language" |
language in POSIX format.
Ex: en_GB
#define PW_KEY_MEDIA_FILENAME "media.filename" |
filename
#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_COMMENT "media.comment" |
extra comment
#define PW_KEY_MEDIA_DATE "media.date" |
date of the media
#define PW_KEY_MEDIA_FORMAT "media.format" |
format of the media
#define PW_KEY_FORMAT_DSP "format.dsp" |
format related properties
a dsp format. Ex: "32 bit float mono audio"
#define PW_KEY_AUDIO_CHANNEL "audio.channel" |
audio related properties
an audio channel. Ex: "FL"
#define PW_KEY_AUDIO_RATE "audio.rate" |
an audio samplerate
#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_ALLOWED_RATES "audio.allowed-rates" |
a list of allowed samplerates ex.
"[ 44100 48000 ]"
#define PW_KEY_VIDEO_RATE "video.framerate" |
video related properties
a video framerate
#define PW_KEY_VIDEO_FORMAT "video.format" |
a video format
#define PW_KEY_VIDEO_SIZE "video.size" |
a video size as "<width>x<height"
#define PW_KEY_TARGET_OBJECT "target.object" |
a target object to link to.
This can be and object name or object.serial
#define PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master") |
#define PW_KEY_NODE_TARGET PW_DEPRECATED("node.target") |
#define PW_KEY_LOOP_RETRY_TIMEOUT PW_DEPRECATED("loop.retry-timeout") |