PipeWire
0.3.61
|
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... | |
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_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_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_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)
#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.
#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_TARGET "node.target" |
node wants to be connected to the target node/session
#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
#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
#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_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_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_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_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_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.
#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_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