/** * \defgroup pw_keys Key Names * * 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. * * \addtogroup pw_keys * \{
*/ #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 */
/** 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. */ #define PW_KEY_SEC_PID "pipewire.sec.pid"/**< 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 */
/** object properties */ #define PW_KEY_OBJECT_PATH "object.path"/**< 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. */
/* config */ #define PW_KEY_CONFIG_PREFIX "config.prefix"/**< a config prefix directory */ #define PW_KEY_CONFIG_NAME "config.name"/**< a config file name */
/* context */ #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 */
/* core */ #define PW_KEY_CORE_NAME "core.name"/**< The name of the core. Default is * `pipewire-<username>-<pid>`, overwritten
* by env(PIPEWIRE_CORE) */ #define PW_KEY_CORE_VERSION "core.version"/**< The version of the core. */ #define PW_KEY_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. */
/* cpu */ #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 */
/* priorities */ #define PW_KEY_PRIORITY_SESSION "priority.session"/**< priority in session manager */ #define PW_KEY_PRIORITY_DRIVER "priority.driver"/**< priority to be a driver */
/* remote keys */ #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" */
/** application keys */ #define PW_KEY_APP_NAME "application.name"/**< 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. */ /** window system */ #define PW_KEY_WINDOW_X11_DISPLAY "window.x11.display"/**< the X11 display string. Ex. ":0.0" */
/** Client properties */ #define PW_KEY_CLIENT_ID "client.id"/**< 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 */
/** Node keys */ #define PW_KEY_NODE_ID "node.id"/**< 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 */ #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. */
/** Port keys */ #define PW_KEY_PORT_ID "port.id"/**< 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" */
/** link properties */ #define PW_KEY_LINK_ID "link.id"/**< 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 */
/** device properties */ #define PW_KEY_DEVICE_ID "device.id"/**< 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_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 */
/** module properties */ #define PW_KEY_MODULE_ID "module.id"/**< 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. */
/** Factory properties */ #define PW_KEY_FACTORY_ID "factory.id"/**< 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 */
/** Stream properties */ #define PW_KEY_STREAM_IS_LIVE "stream.is-live"/**< 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 */
/** Media */ #define PW_KEY_MEDIA_TYPE "media.type"/**< 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 */
/** format related properties */ #define PW_KEY_FORMAT_DSP "format.dsp"/**< a dsp format.
* Ex: "32 bit float mono audio" */ /** audio related properties */ #define PW_KEY_AUDIO_CHANNEL "audio.channel"/**< 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 ]" */
/** video related properties */ #define PW_KEY_VIDEO_RATE "video.framerate"/**< 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" */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.