PipeWire  0.3.65
src/pipewire/keys.h
Go to the documentation of this file.
1 /* PipeWire
2  *
3  * Copyright © 2019 Wim Taymans
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 
25 #ifndef PIPEWIRE_KEYS_H
26 #define PIPEWIRE_KEYS_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #include <pipewire/utils.h>
48 #define PW_KEY_PROTOCOL "pipewire.protocol"
49 #define PW_KEY_ACCESS "pipewire.access"
50 #define PW_KEY_CLIENT_ACCESS "pipewire.client.access"
56 #define PW_KEY_SEC_PID "pipewire.sec.pid"
57 #define PW_KEY_SEC_UID "pipewire.sec.uid"
58 #define PW_KEY_SEC_GID "pipewire.sec.gid"
59 #define PW_KEY_SEC_LABEL "pipewire.sec.label"
61 #define PW_KEY_LIBRARY_NAME_SYSTEM "library.name.system"
62 #define PW_KEY_LIBRARY_NAME_LOOP "library.name.loop"
63 #define PW_KEY_LIBRARY_NAME_DBUS "library.name.dbus"
66 #define PW_KEY_OBJECT_PATH "object.path"
67 #define PW_KEY_OBJECT_ID "object.id"
68 #define PW_KEY_OBJECT_SERIAL "object.serial"
72 #define PW_KEY_OBJECT_LINGER "object.linger"
74 #define PW_KEY_OBJECT_REGISTER "object.register"
77 /* config */
78 #define PW_KEY_CONFIG_PREFIX "config.prefix"
79 #define PW_KEY_CONFIG_NAME "config.name"
80 #define PW_KEY_CONFIG_OVERRIDE_PREFIX "config.override.prefix"
81 #define PW_KEY_CONFIG_OVERRIDE_NAME "config.override.name"
83 /* context */
84 #define PW_KEY_CONTEXT_PROFILE_MODULES "context.profile.modules"
85 #define PW_KEY_USER_NAME "context.user-name"
86 #define PW_KEY_HOST_NAME "context.host-name"
88 /* core */
89 #define PW_KEY_CORE_NAME "core.name"
92 #define PW_KEY_CORE_VERSION "core.version"
93 #define PW_KEY_CORE_DAEMON "core.daemon"
95 #define PW_KEY_CORE_ID "core.id"
96 #define PW_KEY_CORE_MONITORS "core.monitors"
98 /* cpu */
99 #define PW_KEY_CPU_MAX_ALIGN "cpu.max-align"
101 #define PW_KEY_CPU_CORES "cpu.cores"
103 /* priorities */
104 #define PW_KEY_PRIORITY_SESSION "priority.session"
105 #define PW_KEY_PRIORITY_DRIVER "priority.driver"
107 /* remote keys */
108 #define PW_KEY_REMOTE_NAME "remote.name"
111 #define PW_KEY_REMOTE_INTENTION "remote.intention"
115 #define PW_KEY_APP_NAME "application.name"
116 #define PW_KEY_APP_ID "application.id"
118 #define PW_KEY_APP_VERSION "application.version"
119 #define PW_KEY_APP_ICON "application.icon"
120 #define PW_KEY_APP_ICON_NAME "application.icon-name"
122 #define PW_KEY_APP_LANGUAGE "application.language"
125 #define PW_KEY_APP_PROCESS_ID "application.process.id"
126 #define PW_KEY_APP_PROCESS_BINARY "application.process.binary"
127 #define PW_KEY_APP_PROCESS_USER "application.process.user"
128 #define PW_KEY_APP_PROCESS_HOST "application.process.host"
129 #define PW_KEY_APP_PROCESS_MACHINE_ID "application.process.machine-id"
131 #define PW_KEY_APP_PROCESS_SESSION_ID "application.process.session-id"
135 #define PW_KEY_WINDOW_X11_DISPLAY "window.x11.display"
138 #define PW_KEY_CLIENT_ID "client.id"
139 #define PW_KEY_CLIENT_NAME "client.name"
140 #define PW_KEY_CLIENT_API "client.api"
144 #define PW_KEY_NODE_ID "node.id"
145 #define PW_KEY_NODE_NAME "node.name"
146 #define PW_KEY_NODE_NICK "node.nick"
147 #define PW_KEY_NODE_DESCRIPTION "node.description"
149 #define PW_KEY_NODE_PLUGGED "node.plugged"
152 #define PW_KEY_NODE_SESSION "node.session"
153 #define PW_KEY_NODE_GROUP "node.group"
156 #define PW_KEY_NODE_EXCLUSIVE "node.exclusive"
157 #define PW_KEY_NODE_AUTOCONNECT "node.autoconnect"
159 #define PW_KEY_NODE_LATENCY "node.latency"
161 #define PW_KEY_NODE_MAX_LATENCY "node.max-latency"
163 #define PW_KEY_NODE_LOCK_QUANTUM "node.lock-quantum"
165 #define PW_KEY_NODE_FORCE_QUANTUM "node.force-quantum"
167 #define PW_KEY_NODE_RATE "node.rate"
169 #define PW_KEY_NODE_LOCK_RATE "node.lock-rate"
171 #define PW_KEY_NODE_FORCE_RATE "node.force-rate"
174 #define PW_KEY_NODE_DONT_RECONNECT "node.dont-reconnect"
178 #define PW_KEY_NODE_ALWAYS_PROCESS "node.always-process"
179 #define PW_KEY_NODE_WANT_DRIVER "node.want-driver"
181 #define PW_KEY_NODE_PAUSE_ON_IDLE "node.pause-on-idle"
182 #define PW_KEY_NODE_SUSPEND_ON_IDLE "node.suspend-on-idle"
183 #define PW_KEY_NODE_CACHE_PARAMS "node.cache-params"
184 #define PW_KEY_NODE_TRANSPORT_SYNC "node.transport.sync"
185 #define PW_KEY_NODE_DRIVER "node.driver"
186 #define PW_KEY_NODE_STREAM "node.stream"
188 #define PW_KEY_NODE_VIRTUAL "node.virtual"
190 #define PW_KEY_NODE_PASSIVE "node.passive"
193 #define PW_KEY_NODE_LINK_GROUP "node.link-group"
195 #define PW_KEY_NODE_NETWORK "node.network"
196 #define PW_KEY_NODE_TRIGGER "node.trigger"
199 #define PW_KEY_NODE_CHANNELNAMES "node.channel-names"
201 #define PW_KEY_NODE_DEVICE_PORT_NAME_PREFIX "node.device-port-name-prefix"
206 #define PW_KEY_PORT_ID "port.id"
207 #define PW_KEY_PORT_NAME "port.name"
208 #define PW_KEY_PORT_DIRECTION "port.direction"
210 #define PW_KEY_PORT_ALIAS "port.alias"
211 #define PW_KEY_PORT_PHYSICAL "port.physical"
212 #define PW_KEY_PORT_TERMINAL "port.terminal"
213 #define PW_KEY_PORT_CONTROL "port.control"
214 #define PW_KEY_PORT_MONITOR "port.monitor"
215 #define PW_KEY_PORT_CACHE_PARAMS "port.cache-params"
216 #define PW_KEY_PORT_EXTRA "port.extra"
220 #define PW_KEY_LINK_ID "link.id"
221 #define PW_KEY_LINK_INPUT_NODE "link.input.node"
222 #define PW_KEY_LINK_INPUT_PORT "link.input.port"
223 #define PW_KEY_LINK_OUTPUT_NODE "link.output.node"
224 #define PW_KEY_LINK_OUTPUT_PORT "link.output.port"
225 #define PW_KEY_LINK_PASSIVE "link.passive"
228 #define PW_KEY_LINK_FEEDBACK "link.feedback"
233 #define PW_KEY_DEVICE_ID "device.id"
234 #define PW_KEY_DEVICE_NAME "device.name"
235 #define PW_KEY_DEVICE_PLUGGED "device.plugged"
237 #define PW_KEY_DEVICE_NICK "device.nick"
238 #define PW_KEY_DEVICE_STRING "device.string"
240 #define PW_KEY_DEVICE_API "device.api"
242 #define PW_KEY_DEVICE_DESCRIPTION "device.description"
244 #define PW_KEY_DEVICE_BUS_PATH "device.bus-path"
246 #define PW_KEY_DEVICE_SERIAL "device.serial"
247 #define PW_KEY_DEVICE_VENDOR_ID "device.vendor.id"
248 #define PW_KEY_DEVICE_VENDOR_NAME "device.vendor.name"
249 #define PW_KEY_DEVICE_PRODUCT_ID "device.product.id"
250 #define PW_KEY_DEVICE_PRODUCT_NAME "device.product.name"
251 #define PW_KEY_DEVICE_CLASS "device.class"
252 #define PW_KEY_DEVICE_FORM_FACTOR "device.form-factor"
257 #define PW_KEY_DEVICE_BUS "device.bus"
260 #define PW_KEY_DEVICE_SUBSYSTEM "device.subsystem"
261 #define PW_KEY_DEVICE_SYSFS_PATH "device.sysfs.path"
262 #define PW_KEY_DEVICE_ICON "device.icon"
264 #define PW_KEY_DEVICE_ICON_NAME "device.icon-name"
266 #define PW_KEY_DEVICE_INTENDED_ROLES "device.intended-roles"
270 #define PW_KEY_DEVICE_CACHE_PARAMS "device.cache-params"
273 #define PW_KEY_MODULE_ID "module.id"
274 #define PW_KEY_MODULE_NAME "module.name"
275 #define PW_KEY_MODULE_AUTHOR "module.author"
276 #define PW_KEY_MODULE_DESCRIPTION "module.description"
278 #define PW_KEY_MODULE_USAGE "module.usage"
280 #define PW_KEY_MODULE_VERSION "module.version"
283 #define PW_KEY_FACTORY_ID "factory.id"
284 #define PW_KEY_FACTORY_NAME "factory.name"
285 #define PW_KEY_FACTORY_USAGE "factory.usage"
286 #define PW_KEY_FACTORY_TYPE_NAME "factory.type.name"
287 #define PW_KEY_FACTORY_TYPE_VERSION "factory.type.version"
290 #define PW_KEY_STREAM_IS_LIVE "stream.is-live"
291 #define PW_KEY_STREAM_LATENCY_MIN "stream.latency.min"
292 #define PW_KEY_STREAM_LATENCY_MAX "stream.latency.max"
293 #define PW_KEY_STREAM_MONITOR "stream.monitor"
296 #define PW_KEY_STREAM_DONT_REMIX "stream.dont-remix"
297 #define PW_KEY_STREAM_CAPTURE_SINK "stream.capture.sink"
301 #define PW_KEY_MEDIA_TYPE "media.type"
303 #define PW_KEY_MEDIA_CATEGORY "media.category"
305 #define PW_KEY_MEDIA_ROLE "media.role"
309 #define PW_KEY_MEDIA_CLASS "media.class"
310 #define PW_KEY_MEDIA_NAME "media.name"
311 #define PW_KEY_MEDIA_TITLE "media.title"
312 #define PW_KEY_MEDIA_ARTIST "media.artist"
313 #define PW_KEY_MEDIA_COPYRIGHT "media.copyright"
314 #define PW_KEY_MEDIA_SOFTWARE "media.software"
315 #define PW_KEY_MEDIA_LANGUAGE "media.language"
316 #define PW_KEY_MEDIA_FILENAME "media.filename"
317 #define PW_KEY_MEDIA_ICON "media.icon"
319 #define PW_KEY_MEDIA_ICON_NAME "media.icon-name"
321 #define PW_KEY_MEDIA_COMMENT "media.comment"
322 #define PW_KEY_MEDIA_DATE "media.date"
323 #define PW_KEY_MEDIA_FORMAT "media.format"
326 #define PW_KEY_FORMAT_DSP "format.dsp"
329 #define PW_KEY_AUDIO_CHANNEL "audio.channel"
330 #define PW_KEY_AUDIO_RATE "audio.rate"
331 #define PW_KEY_AUDIO_CHANNELS "audio.channels"
332 #define PW_KEY_AUDIO_FORMAT "audio.format"
333 #define PW_KEY_AUDIO_ALLOWED_RATES "audio.allowed-rates"
337 #define PW_KEY_VIDEO_RATE "video.framerate"
338 #define PW_KEY_VIDEO_FORMAT "video.format"
339 #define PW_KEY_VIDEO_SIZE "video.size"
341 #define PW_KEY_TARGET_OBJECT "target.object"
344 #ifndef PW_REMOVE_DEPRECATED
345 #define PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master")
346 #define PW_KEY_NODE_TARGET PW_DEPRECATED("node.target")
347 #endif /* PW_REMOVE_DEPRECATED */
348 
352 #ifdef __cplusplus
353 }
354 #endif
355 
356 #endif /* PIPEWIRE_KEYS_H */