PipeWire: keys.h Source File

PipeWire 0.3.12

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
42 #define PW_KEY_PROTOCOL "pipewire.protocol"
43 #define PW_KEY_ACCESS "pipewire.access"
48 #define PW_KEY_SEC_PID "pipewire.sec.pid"
49 #define PW_KEY_SEC_UID "pipewire.sec.uid"
50 #define PW_KEY_SEC_GID "pipewire.sec.gid"
51 #define PW_KEY_SEC_LABEL "pipewire.sec.label"
53 #define PW_KEY_LIBRARY_NAME_SYSTEM "library.name.system"
54 #define PW_KEY_LIBRARY_NAME_LOOP "library.name.loop"
55 #define PW_KEY_LIBRARY_NAME_DBUS "library.name.dbus"
57 #define PW_KEY_OBJECT_PATH "object.path"
58 #define PW_KEY_OBJECT_ID "object.id"
60 /* context */
61 #define PW_KEY_CONTEXT_PROFILE_MODULES "context.profile.modules"
62 #define PW_KEY_USER_NAME "context.user-name"
63 #define PW_KEY_HOST_NAME "context.host-name"
65 /* core */
66 #define PW_KEY_CORE_NAME "core.name"
69 #define PW_KEY_CORE_VERSION "core.version"
70 #define PW_KEY_CORE_DAEMON "core.daemon"
72 #define PW_KEY_CORE_ID "core.id"
73 #define PW_KEY_CORE_MONITORS "core.monitors"
75 /* cpu */
76 #define PW_KEY_CPU_MAX_ALIGN "cpu.max-align"
78 #define PW_KEY_CPU_CORES "cpu.cores"
80 /* priorities */
81 #define PW_KEY_PRIORITY_SESSION "priority.session"
82 #define PW_KEY_PRIORITY_DRIVER "priority.driver"
84 /* remote keys */
85 #define PW_KEY_REMOTE_NAME "remote.name"
88 #define PW_KEY_REMOTE_INTENTION "remote.intention"
92 #define PW_KEY_APP_NAME "application.name"
93 #define PW_KEY_APP_ID "application.id"
95 #define PW_KEY_APP_VERSION "application.version"
96 #define PW_KEY_APP_ICON "application.icon"
97 #define PW_KEY_APP_ICON_NAME "application.icon-name"
99 #define PW_KEY_APP_LANGUAGE "application.language"
102 #define PW_KEY_APP_PROCESS_ID "application.process.id"
103 #define PW_KEY_APP_PROCESS_BINARY "application.process.binary"
104 #define PW_KEY_APP_PROCESS_USER "application.process.user"
105 #define PW_KEY_APP_PROCESS_HOST "application.process.host"
106 #define PW_KEY_APP_PROCESS_MACHINE_ID "application.process.machine-id"
108 #define PW_KEY_APP_PROCESS_SESSION_ID "application.process.session-id"
112 #define PW_KEY_WINDOW_X11_DISPLAY "window.x11.display"
115 #define PW_KEY_CLIENT_ID "client.id"
116 #define PW_KEY_CLIENT_NAME "client.name"
117 #define PW_KEY_CLIENT_API "client.api"
121 #define PW_KEY_NODE_ID "node.id"
122 #define PW_KEY_NODE_NAME "node.name"
123 #define PW_KEY_NODE_NICK "node.nick"
124 #define PW_KEY_NODE_DESCRIPTION "node.description"
126 #define PW_KEY_NODE_PLUGGED "node.plugged"
129 #define PW_KEY_NODE_SESSION "node.session"
130 #define PW_KEY_NODE_GROUP "node.group"
133 #define PW_KEY_NODE_EXCLUSIVE "node.exclusive"
134 #define PW_KEY_NODE_AUTOCONNECT "node.autoconnect"
136 #define PW_KEY_NODE_TARGET "node.target"
138 #define PW_KEY_NODE_LATENCY "node.latency"
140 #define PW_KEY_NODE_DONT_RECONNECT "node.dont-reconnect"
141 #define PW_KEY_NODE_ALWAYS_PROCESS "node.always-process"
142 #define PW_KEY_NODE_PAUSE_ON_IDLE "node.pause-on-idle"
143 #define PW_KEY_NODE_DRIVER "node.driver"
144 #define PW_KEY_NODE_STREAM "node.stream"
147 #define PW_KEY_PORT_ID "port.id"
148 #define PW_KEY_PORT_NAME "port.name"
149 #define PW_KEY_PORT_DIRECTION "port.direction"
151 #define PW_KEY_PORT_ALIAS "port.alias"
152 #define PW_KEY_PORT_PHYSICAL "port.physical"
153 #define PW_KEY_PORT_TERMINAL "port.terminal"
154 #define PW_KEY_PORT_CONTROL "port.control"
155 #define PW_KEY_PORT_MONITOR "port.monitor"
158 #define PW_KEY_LINK_ID "link.id"
159 #define PW_KEY_LINK_INPUT_NODE "link.input.node"
160 #define PW_KEY_LINK_INPUT_PORT "link.input.port"
161 #define PW_KEY_LINK_OUTPUT_NODE "link.output.node"
162 #define PW_KEY_LINK_OUTPUT_PORT "link.output.port"
163 #define PW_KEY_LINK_PASSIVE "link.passive"
167 #define PW_KEY_DEVICE_ID "device.id"
168 #define PW_KEY_DEVICE_NAME "device.name"
169 #define PW_KEY_DEVICE_PLUGGED "device.plugged"
171 #define PW_KEY_DEVICE_NICK "device.nick"
172 #define PW_KEY_DEVICE_STRING "device.string"
174 #define PW_KEY_DEVICE_API "device.api"
176 #define PW_KEY_DEVICE_DESCRIPTION "device.description"
178 #define PW_KEY_DEVICE_BUS_PATH "device.bus-path"
180 #define PW_KEY_DEVICE_SERIAL "device.serial"
181 #define PW_KEY_DEVICE_VENDOR_ID "device.vendor.id"
182 #define PW_KEY_DEVICE_VENDOR_NAME "device.vendor.name"
183 #define PW_KEY_DEVICE_PRODUCT_ID "device.product.id"
184 #define PW_KEY_DEVICE_PRODUCT_NAME "device.product.name"
185 #define PW_KEY_DEVICE_CLASS "device.class"
186 #define PW_KEY_DEVICE_FORM_FACTOR "device.form-factor"
191 #define PW_KEY_DEVICE_BUS "device.bus"
194 #define PW_KEY_DEVICE_SUBSYSTEM "device.subsystem"
195 #define PW_KEY_DEVICE_ICON "device.icon"
197 #define PW_KEY_DEVICE_ICON_NAME "device.icon-name"
199 #define PW_KEY_DEVICE_INTENDED_ROLES "device.intended-roles"
205 #define PW_KEY_MODULE_ID "module.id"
206 #define PW_KEY_MODULE_NAME "module.name"
207 #define PW_KEY_MODULE_AUTHOR "module.author"
208 #define PW_KEY_MODULE_DESCRIPTION "module.description"
210 #define PW_KEY_MODULE_USAGE "module.usage"
212 #define PW_KEY_MODULE_VERSION "module.version"
215 #define PW_KEY_FACTORY_ID "factory.id"
216 #define PW_KEY_FACTORY_NAME "factory.name"
217 #define PW_KEY_FACTORY_USAGE "factory.usage"
218 #define PW_KEY_FACTORY_TYPE_NAME "factory.type.name"
219 #define PW_KEY_FACTORY_TYPE_VERSION "factory.type.version"
222 #define PW_KEY_STREAM_IS_LIVE "stream.is-live"
223 #define PW_KEY_STREAM_LATENCY_MIN "stream.latency.min"
224 #define PW_KEY_STREAM_LATENCY_MAX "stream.latency.max"
225 #define PW_KEY_STREAM_MONITOR "stream.monitor"
228 #define PW_KEY_STREAM_DONT_REMIX "stream.dont-remix"
231 #define PW_KEY_OBJECT_LINGER "object.linger"
235 #define PW_KEY_MEDIA_TYPE "media.type"
237 #define PW_KEY_MEDIA_CATEGORY "media.category"
239 #define PW_KEY_MEDIA_ROLE "media.role"
243 #define PW_KEY_MEDIA_CLASS "media.class"
244 #define PW_KEY_MEDIA_NAME "media.name"
245 #define PW_KEY_MEDIA_TITLE "media.title"
246 #define PW_KEY_MEDIA_ARTIST "media.artist"
247 #define PW_KEY_MEDIA_COPYRIGHT "media.copyright"
248 #define PW_KEY_MEDIA_SOFTWARE "media.software"
249 #define PW_KEY_MEDIA_LANGUAGE "media.language"
250 #define PW_KEY_MEDIA_FILENAME "media.filename"
251 #define PW_KEY_MEDIA_ICON "media.icon"
253 #define PW_KEY_MEDIA_ICON_NAME "media.icon-name"
257 #define PW_KEY_FORMAT_DSP "format.dsp"
260 #define PW_KEY_AUDIO_CHANNEL "audio.channel"
261 #define PW_KEY_AUDIO_RATE "audio.samplerate"
262 #define PW_KEY_AUDIO_CHANNELS "audio.channels"
263 #define PW_KEY_AUDIO_FORMAT "audio.format"
266 #define PW_KEY_VIDEO_RATE "video.framerate"
267 #define PW_KEY_VIDEO_FORMAT "video.format"
268 #define PW_KEY_VIDEO_SIZE "video.size"
270 #ifdef PW_ENABLE_DEPRECATED
271 #define PW_KEY_PRIORITY_MASTER "priority.master"
272 #endif /* PW_ENABLE_DEPRECATED */
273
274 #ifdef __cplusplus
275 }
276 #endif
277
278 #endif /* PIPEWIRE_KEYS_H */
pw_node_info::props
struct spa_dict * props
the properties of the node
Definition: node.h:77
PW_LINK_CHANGE_MASK_STATE
#define PW_LINK_CHANGE_MASK_STATE
Definition: link.h:61
pw_link_info_free
SPA_EXPORT void pw_link_info_free(struct pw_link_info *info)
Definition: introspect.c:491
pw_introspect::pw_client_info_update
struct pw_client_info * pw_client_info_update(struct pw_client_info *info, const struct pw_client_info *update)
Update and existing pw_client_info with update.
Definition: introspect.c:421
pw_node_info::n_params
uint32_t n_params
number of items in params
Definition: node.h:79
pw_device_info::props
struct spa_dict * props
extra properties
Definition: device.h:49
pw_node_info_update
SPA_EXPORT struct pw_node_info * pw_node_info_update(struct pw_node_info *info, const struct pw_node_info *update)
Definition: introspect.c:168
pw_link_info::input_port_id
uint32_t input_port_id
input port id
Definition: link.h:60
pw_link_info::id
uint32_t id
id of the global
Definition: link.h:56
pw_node_info::params
struct spa_param_info * params
parameters
Definition: node.h:78
pw_core_info
The core information.
Definition: core.h:55
pw_factory_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: factory.h:53
pw_port_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: port.h:67
pw_port_info::direction
enum pw_direction direction
port direction
Definition: port.h:63
PW_NODE_CHANGE_MASK_PROPS
#define PW_NODE_CHANGE_MASK_PROPS
Definition: node.h:69
pw_port_info::n_params
uint32_t n_params
number of items in params
Definition: port.h:70
pw_factory_info_free
SPA_EXPORT void pw_factory_info_free(struct pw_factory_info *info)
Definition: introspect.c:320
pw_factory_info::type
const char * type
type of the objects created by this factory
Definition: factory.h:49
pw_module_info::args
const char * args
arguments passed to the module
Definition: module.h:47
pw_device_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: device.h:48
pw_link_info::error
const char * error
an error reason if state is error
Definition: link.h:67
pw_link_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: link.h:65
pw_direction
#define pw_direction
Definition: port.h:47
pw_introspect::pw_direction_as_string
const char * pw_direction_as_string(enum pw_direction direction)
Convert a pw_direction to a readable string.
Definition: introspect.c:52
pw_introspect::pw_core_info_update
struct pw_core_info * pw_core_info_update(struct pw_core_info *info, const struct pw_core_info *update)
Update and existing pw_core_info with update.
Definition: introspect.c:127
pw_factory_info::id
uint32_t id
id of the global
Definition: factory.h:47
pw_introspect::pw_module_info_update
struct pw_module_info * pw_module_info_update(struct pw_module_info *info, const struct pw_module_info *update)
Update and existing pw_module_info with update.
Definition: introspect.c:330
pw_core_info::user_name
const char * user_name
name of the user that started the core
Definition: core.h:58
pw_core_info::version
const char * version
version of the core
Definition: core.h:60
pw_link_info_update
SPA_EXPORT struct pw_link_info * pw_link_info_update(struct pw_link_info *info, const struct pw_link_info *update)
Definition: introspect.c:453
pw_module_info::id
uint32_t id
id of the global
Definition: module.h:44
PW_DIRECTION_INPUT
#define PW_DIRECTION_INPUT
Definition: port.h:48
pw_port_info::props
struct spa_dict * props
the properties of the port
Definition: port.h:68
pw_core_info::host_name
const char * host_name
name of the machine the core is running on
Definition: core.h:59
pw_port_info_update
SPA_EXPORT struct pw_port_info * pw_port_info_update(struct pw_port_info *info, const struct pw_port_info *update)
Definition: introspect.c:237
pw_node_info::n_input_ports
uint32_t n_input_ports
number of inputs
Definition: node.h:73
pw_client_info::id
uint32_t id
id of the global
Definition: client.h:48
pw_port_info
Definition: port.h:61
PW_LINK_STATE_UNLINKED
@ PW_LINK_STATE_UNLINKED
the link is unlinked
Definition: link.h:45
pw_factory_info_update
SPA_EXPORT struct pw_factory_info * pw_factory_info_update(struct pw_factory_info *info, const struct pw_factory_info *update)
Definition: introspect.c:293
pw_link_state
pw_link_state
The different link states.
Definition: link.h:43
PW_PORT_CHANGE_MASK_PROPS
#define PW_PORT_CHANGE_MASK_PROPS
Definition: port.h:64
PW_NODE_STATE_RUNNING
@ PW_NODE_STATE_RUNNING
the node is running
Definition: node.h:55
PW_DEVICE_CHANGE_MASK_PROPS
#define PW_DEVICE_CHANGE_MASK_PROPS
Definition: device.h:45
pw_node_info::id
uint32_t id
id of the global
Definition: node.h:63
pw_core_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: core.h:64
pw_link_info::state
enum pw_link_state state
the current state of the link
Definition: link.h:66
pw_device_info::params
struct spa_param_info * params
parameters
Definition: device.h:50
PW_NODE_CHANGE_MASK_INPUT_PORTS
#define PW_NODE_CHANGE_MASK_INPUT_PORTS
Definition: node.h:66
pw_link_info::input_node_id
uint32_t input_node_id
server side input node id
Definition: link.h:59
pw_core_info::props
struct spa_dict * props
extra properties
Definition: core.h:65
pw_client_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: client.h:51
PW_CLIENT_CHANGE_MASK_PROPS
#define PW_CLIENT_CHANGE_MASK_PROPS
Definition: client.h:49
pw_client_info
The client information.
Definition: client.h:47
pw_port_info::params
struct spa_param_info * params
parameters
Definition: port.h:69
pw_client_info::props
struct spa_dict * props
extra properties
Definition: client.h:52
PW_LINK_CHANGE_MASK_PROPS
#define PW_LINK_CHANGE_MASK_PROPS
Definition: link.h:63
PW_DEVICE_CHANGE_MASK_PARAMS
#define PW_DEVICE_CHANGE_MASK_PARAMS
Definition: device.h:46
pw_introspect::pw_module_info_free
void pw_module_info_free(struct pw_module_info *info)
Free a pw_module_info.
Definition: introspect.c:357
PW_LINK_STATE_NEGOTIATING
@ PW_LINK_STATE_NEGOTIATING
the link is negotiating formats
Definition: link.h:47
PW_NODE_STATE_CREATING
@ PW_NODE_STATE_CREATING
the node is being created
Definition: node.h:50
pw_introspect::pw_device_info_free
void pw_device_info_free(struct pw_device_info *info)
Free a pw_device_info.
Definition: introspect.c:412
PW_NODE_CHANGE_MASK_PARAMS
#define PW_NODE_CHANGE_MASK_PARAMS
Definition: node.h:70
pw_node_info_free
SPA_EXPORT void pw_node_info_free(struct pw_node_info *info)
Definition: introspect.c:226
pw_introspect::pw_core_info_free
void pw_core_info_free(struct pw_core_info *info)
Free a pw_core_info.
Definition: introspect.c:156
pw_module_info
The module information.
Definition: module.h:43
pw_node_info::n_output_ports
uint32_t n_output_ports
number of outputs
Definition: node.h:74
pw_device_info::n_params
uint32_t n_params
number of items in params
Definition: device.h:51
pw_node_info::max_input_ports
uint32_t max_input_ports
maximum number of inputs
Definition: node.h:64
PW_LINK_STATE_ALLOCATING
@ PW_LINK_STATE_ALLOCATING
the link is allocating buffers
Definition: link.h:48
pw_device_info
The device information.
Definition: device.h:43
pw_port_info_free
SPA_EXPORT void pw_port_info_free(struct pw_port_info *info)
Definition: introspect.c:283
pw_module_info::props
struct spa_dict * props
extra properties
Definition: module.h:51
pw_factory_info::version
uint32_t version
version of the objects
Definition: factory.h:50
PW_MODULE_CHANGE_MASK_PROPS
#define PW_MODULE_CHANGE_MASK_PROPS
Definition: module.h:48
PW_NODE_STATE_SUSPENDED
@ PW_NODE_STATE_SUSPENDED
the node is suspended, the device might be closed
Definition: node.h:51
PW_LINK_CHANGE_MASK_FORMAT
#define PW_LINK_CHANGE_MASK_FORMAT
Definition: link.h:62
pw_introspect::pw_client_info_free
void pw_client_info_free(struct pw_client_info *info)
Free a pw_client_info.
Definition: introspect.c:445
pw_node_state_as_string
SPA_EXPORT const char * pw_node_state_as_string(enum pw_node_state state)
Definition: introspect.c:34
pw_factory_info
The factory information.
Definition: factory.h:46
PW_PORT_CHANGE_MASK_PARAMS
#define PW_PORT_CHANGE_MASK_PARAMS
Definition: port.h:65
PW_NODE_CHANGE_MASK_OUTPUT_PORTS
#define PW_NODE_CHANGE_MASK_OUTPUT_PORTS
Definition: node.h:67
PW_CORE_CHANGE_MASK_PROPS
#define PW_CORE_CHANGE_MASK_PROPS
Definition: core.h:62
pw_core_info::name
const char * name
name of the core
Definition: core.h:61
pw_port_info::id
uint32_t id
id of the global
Definition: port.h:62
pw_core_info::cookie
uint32_t cookie
a random cookie for identifying this instance of PipeWire
Definition: core.h:57
pw_module_info::name
const char * name
name of the module
Definition: module.h:45
pw_module_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: module.h:50
core.h
pw_node_info::state
enum pw_node_state state
the current state of the node
Definition: node.h:75
PW_NODE_CHANGE_MASK_STATE
#define PW_NODE_CHANGE_MASK_STATE
Definition: node.h:68
pw_link_info
The link information.
Definition: link.h:55
pw_factory_info::props
struct spa_dict * props
the properties of the factory
Definition: factory.h:54
PW_LINK_STATE_INIT
@ PW_LINK_STATE_INIT
the link is initialized
Definition: link.h:46
pw_link_info::output_node_id
uint32_t output_node_id
server side output node id
Definition: link.h:57
pipewire.h
pw_node_info::error
const char * error
an error reason if state is error
Definition: node.h:76
pw_link_info::output_port_id
uint32_t output_port_id
output port id
Definition: link.h:58
PW_DIRECTION_OUTPUT
#define PW_DIRECTION_OUTPUT
Definition: port.h:49
pw_factory_info::name
const char * name
name the factory
Definition: factory.h:48
PW_NODE_STATE_ERROR
@ PW_NODE_STATE_ERROR
error state
Definition: node.h:49
PW_LINK_STATE_ERROR
@ PW_LINK_STATE_ERROR
the link is in error
Definition: link.h:44
pw_node_state
pw_node_state
The different node states.
Definition: node.h:48
pw_device_info::id
uint32_t id
id of the global
Definition: device.h:44
PW_LINK_STATE_PAUSED
@ PW_LINK_STATE_PAUSED
the link is paused
Definition: link.h:49
PW_NODE_STATE_IDLE
@ PW_NODE_STATE_IDLE
the node is running but there is no active port
Definition: node.h:53
pw_core_info::id
uint32_t id
id of the global
Definition: core.h:56
pw_link_info::format
struct spa_pod * format
format over link
Definition: link.h:68
pw_node_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: node.h:72
pw_link_info::props
struct spa_dict * props
the properties of the link
Definition: link.h:69
pw_introspect::pw_device_info_update
struct pw_device_info * pw_device_info_update(struct pw_device_info *info, const struct pw_device_info *update)
Update and existing pw_device_info with update.
Definition: introspect.c:368
pw_node_info
The node information.
Definition: node.h:62
pw_link_state_as_string
SPA_EXPORT const char * pw_link_state_as_string(enum pw_link_state state)
Definition: introspect.c:66
PW_FACTORY_CHANGE_MASK_PROPS
#define PW_FACTORY_CHANGE_MASK_PROPS
Definition: factory.h:51
pw_module_info::filename
const char * filename
filename of the module
Definition: module.h:46
pw_node_info::max_output_ports
uint32_t max_output_ports
maximum number of outputs
Definition: node.h:65