Go to the documentation of this file.
25 #ifndef PIPEWIRE_MODULE_H
26 #define PIPEWIRE_MODULE_H
37 #define PW_TYPE_INTERFACE_Module PW_TYPE_INFO_INTERFACE_BASE "Module"
39 #define PW_VERSION_MODULE 3
48 #define PW_MODULE_CHANGE_MASK_PROPS (1 << 0)
49 #define PW_MODULE_CHANGE_MASK_ALL ((1 << 1)-1)
62 #define PW_MODULE_EVENT_INFO 0
63 #define PW_MODULE_EVENT_NUM 1
67 #define PW_VERSION_MODULE_EVENTS 0
77 #define PW_MODULE_METHOD_ADD_LISTENER 0
78 #define PW_MODULE_METHOD_NUM 1
82 #define PW_VERSION_MODULE_METHODS 0
91 #define pw_module_method(o,method,version,...) \
93 int _res = -ENOTSUP; \
94 spa_interface_call_res((struct spa_interface*)o, \
95 struct pw_module_methods, _res, \
96 method, version, ##__VA_ARGS__); \
100 #define pw_module_add_listener(c,...) pw_module_method(c,add_listener,0,__VA_ARGS__)
struct pw_impl_factory * pw_context_create_factory(struct pw_context *context, const char *name, const char *type, uint32_t version, struct pw_properties *properties, size_t user_data_size)
Definition: impl-factory.c:38
struct pw_impl_client * pw_context_create_client(struct pw_impl_core *core, struct pw_protocol *protocol, struct pw_properties *properties, size_t user_data_size)
Create a new client.
Definition: impl-client.c:386
void spa_pod_builder_set_callbacks(struct spa_pod_builder *builder, const struct spa_pod_builder_callbacks *callbacks, void *data)
Definition: builder.h:80
#define SPA_MAX(a, b)
Definition: defs.h:129
void(* param_changed)(void *data, uint32_t id, const struct spa_pod *param)
when a parameter changed
Definition: stream.h:226
struct spa_hook stream_listener
Definition: module-example-sink.c:94
struct impl * impl
Definition: module-protocol-simple.c:104
struct pw_loop * pw_context_get_main_loop(struct pw_context *context)
get the context main loop
Definition: context.c:567
roc_context * context
Definition: module-roc-source.c:113
#define SPA_POD_Float(val)
Definition: vararg.h:71
uint32_t n_links
Definition: module-filter-chain.c:148
#define PW_DIRECTION_INPUT
Definition: port.h:57
int pw_impl_client_update_properties(struct pw_impl_client *client, const struct spa_dict *dict)
Update the client properties.
Definition: impl-client.c:638
#define DEFAULT_NICE_LEVEL
Definition: module-rtkit.c:51
struct spa_hook core_listener
Definition: module-roc-source.c:100
uint32_t mask
Definition: build-12775836/doc/spa/support/loop.h:63
int int const char * pw_properties_get(const struct pw_properties *properties, const char *key)
Get a property.
Definition: properties.c:487
struct spa_audio_info_raw capture_info
Definition: module-filter-chain.c:236
int spa_pod_parser_push_struct(struct spa_pod_parser *parser, struct spa_pod_frame *frame)
Definition: parser.h:253
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-pulse-tunnel.c:725
struct pw_global * pw_impl_link_get_global(struct pw_impl_link *link)
Get the global of the link.
Definition: impl-link.c:1389
uint32_t maxsize
max size of data
Definition: buffer/buffer.h:87
Audio information description.
Definition: audio/raw.h:285
uint32_t flags
extra flags
Definition: properties.h:51
Definition: module-filter-chain.c:176
@ SPA_PROP_START_CUSTOM
Definition: props.h:116
Definition: pod/pod.h:175
uint32_t rate
Definition: audio/raw.h:288
uint8_t flush[MAX_BUFFER+sizeof(struct spa_pod_struct)]
Definition: module-profiler.c:89
void * pw_impl_client_get_user_data(struct pw_impl_client *client)
Get the client user data.
Definition: impl-client.c:558
#define PW_KEY_REMOTE_NAME
The name of the remote to connect to, default pipewire-0, overwritten by env(PIPEWIRE_REMOTE)
Definition: src/pipewire/keys.h:101
#define MAX_CONTROLS
Definition: module-filter-chain.c:108
pid_t pid
Definition: module-rtkit.c:74
Definition: module-roc-sink.c:88
struct port control_port[MAX_PORTS]
Definition: module-filter-chain.c:166
@ SPA_PROP_INFO_id
associated id of the property
Definition: props.h:42
#define PW_KEY_SEC_LABEL
client security label, set by protocol
Definition: src/pipewire/keys.h:58
struct spa_list output_link
Definition: module-filter-chain.c:180
spa_direction
Definition: defs.h:78
#define ROC_DEFAULT_IP
Definition: module-roc-sink.c:84
struct pw_core * core
Definition: protocol.h:57
#define MODULE_USAGE
Definition: module-rt.c:55
@ SPA_AUDIO_FORMAT_S16_LE
Definition: audio/raw.h:53
data for registering export functions
Definition: context.h:147
#define FACTORY_USAGE
Definition: module-link-factory.c:42
struct server * server
Definition: module-protocol-simple.c:105
uint32_t pw_impl_port_get_id(struct pw_impl_port *port)
Get the port id.
Definition: impl-port.c:659
#define RTKIT_SERVICE_NAME
Definition: module-rtkit.c:131
const struct fc_descriptor * desc
Definition: module-filter-chain.c:193
int pw_context_register_export_type(struct pw_context *context, struct pw_export_type *type)
register a type that can be exported on a context_proxy.
Definition: context.c:1370
struct pw_loop * loop
Definition: module-protocol-native.c:133
struct spa_audio_info_raw playback_info
Definition: module-filter-chain.c:241
uint32_t new_id
Definition: module-link-factory.c:79
#define PW_VERSION_NODE
Definition: src/pipewire/node.h:52
void pw_resource_remove(struct pw_resource *resource)
Remove a resource, like pw_resource_destroy but without sending a remove_id message to the client.
Definition: resource.c:291
struct descriptor * desc
Definition: module-filter-chain.c:159
uint32_t n_server_methods
number of server methods
Definition: protocol.h:96
struct spa_list link
Definition: module-rtkit.c:72
#define MIN_FLUSH
Definition: module-profiler.c:51
char * config
Definition: module-filter-chain.c:162
struct pw_work_queue * work
Definition: module-roc-source.c:94
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-simple.c:801
#define SERVICE_TYPE_SOURCE
Definition: module-zeroconf-discover.c:64
struct pw_rtkit_bus * pw_rtkit_bus_get_system(void)
Definition: module-rtkit.c:144
const char * type
Definition: context.h:149
#define PW_KEY_AUDIO_FORMAT
an audio format.
Definition: src/pipewire/keys.h:308
int endpoint_factory_init(struct pw_impl_module *module)
void pw_impl_factory_set_implementation(struct pw_impl_factory *factory, const struct pw_impl_factory_implementation *implementation, void *data)
Definition: impl-factory.c:253
uint32_t n_control
Definition: module-filter-chain.c:131
int pw_impl_client_register(struct pw_impl_client *client, struct pw_properties *properties)
Finish configuration and register a client.
Definition: impl-client.c:473
@ SPA_CHOICE_Range
range: default, min, max
Definition: pod/pod.h:142
struct pw_impl_link * pw_context_create_link(struct pw_context *context, struct pw_impl_port *output, struct pw_impl_port *input, struct spa_pod *format_filter, struct pw_properties *properties, size_t user_data_size)
Make a new link between two ports.
Definition: impl-link.c:1065
int spa_pod_parser_get_string(struct spa_pod_parser *parser, const char **value)
Definition: parser.h:190
unsigned int disconnecting
Definition: module-protocol-native.c:115
#define SPA_POD_Int(val)
Definition: vararg.h:59
struct pw_work_queue * work
Definition: module-link-factory.c:63
struct pw_export_type export_spanode
Definition: module-client-node.c:65
const struct spa_support * pw_context_get_support(struct pw_context *context, uint32_t *n_support)
Get the context support objects.
Definition: context.c:560
struct pw_properties * capture_props
Definition: module-roc-sink.c:101
#define spa_zero(x)
Definition: defs.h:303
#define pw_loop_update_timer(l,...)
Definition: src/pipewire/loop.h:78
uint32_t n_hndl
Definition: module-filter-chain.c:209
bool pw_global_is_type(struct pw_global *global, const char *type)
Check a global type.
Definition: global.c:191
pthread_mutex_t lock
Definition: module-rtkit.c:86
@ SPA_PROP_params
simple control params (Struct( (String : key, Pod : value)*))
Definition: props.h:110
void pw_impl_link_destroy(struct pw_impl_link *link)
Destroy a link.
Definition: impl-link.c:1307
void * play_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:162
#define SPA_TYPE_INTERFACE_Device
Definition: build-12775836/doc/spa/monitor/device.h:50
#define UNIX_PATH_MAX
Definition: module-protocol-native.c:73
@ SPA_AUDIO_FORMAT_S16_BE
Definition: audio/raw.h:54
struct pw_impl_module * module
Definition: module-roc-sink.c:89
unsigned int connected
Definition: module-protocol-native.c:114
roc_address local_repair_addr
Definition: module-roc-source.c:112
int spa_json_container_len(struct spa_json *iter, const char *value, int len)
Definition: json.h:200
int pw_global_register(struct pw_global *global)
Register a global object to the context registry.
Definition: global.c:125
#define SPA_POD_OBJECT_FOREACH(obj, iter)
Definition: iter.h:123
struct pw_global * pw_impl_factory_get_global(struct pw_impl_factory *factory)
Get the global of this factory.
Definition: impl-factory.c:238
int spa_json_get_float(struct spa_json *iter, float *res)
Definition: json.h:247
int spa_pod_builder_push_choice(struct spa_pod_builder *builder, struct spa_pod_frame *frame, uint32_t type, uint32_t flags)
Definition: builder.h:399
void pw_context_add_listener(struct pw_context *context, struct spa_hook *listener, const struct pw_context_events *events, void *data)
Add a new event listener to a context.
Definition: context.c:551
#define PW_KEY_PORT_NAME
port name
Definition: src/pipewire/keys.h:184
struct spa_list link
link in struct endpoint_link link_list or struct impl link_list
Definition: module-filter-chain.c:177
unsigned int visited
Definition: module-filter-chain.c:173
uint32_t pw_impl_node_get_free_port_id(struct pw_impl_node *node, enum pw_direction direction)
Get a free unused port_id from the node.
Definition: impl-node.c:1963
const struct pw_client_info * pw_impl_client_get_info(struct pw_impl_client *client)
Get the client information.
Definition: impl-client.c:622
uint32_t n_datas
number of data members
Definition: buffer/buffer.h:95
struct pw_context * pw_impl_client_get_context(struct pw_impl_client *client)
Get the context used to create this client.
Definition: impl-client.c:522
#define NAME
Definition: module-adapter.c:43
struct pw_impl_node * node
Definition: module-link-factory.c:212
#define DEFAULT_POLICY
Definition: module-rt.c:48
int spa_pod_builder_float(struct spa_pod_builder *builder, float val)
Definition: builder.h:265
int pw_impl_node_initialized(struct pw_impl_node *node)
Definition: impl-node.c:727
struct spa_list plugin_list
Definition: module-filter-chain.c:231
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-rt.c:244
#define DEFAULT_LATENCY_USEC
Definition: module-pulse-tunnel.c:82
Definition: module-roc-source.c:92
unsigned int paused
Definition: module-protocol-native.c:117
int pw_rtkit_make_realtime(struct pw_rtkit_bus *connection, pid_t thread, int priority)
Definition: module-rtkit.c:322
struct pw_impl_port * pw_impl_node_find_port(struct pw_impl_node *node, enum pw_direction direction, uint32_t port_id)
Find the port with direction and port_id or NULL when not found.
Definition: impl-node.c:1928
@ SPA_AUDIO_FORMAT_U8
Definition: audio/raw.h:52
Definition: latency-utils.h:37
#define DEFAULT_FORMAT
Definition: module-example-sink.c:56
pa_threaded_mainloop * pa_mainloop
Definition: module-pulse-tunnel.c:112
#define SPA_DICT_ITEM_INIT(key, value)
Definition: utils/dict.h:46
struct impl * impl
Definition: module-protocol-simple.c:127
int spa_json_enter_object(struct spa_json *iter, struct spa_json *sub)
Definition: json.h:214
uint32_t type
Definition: build-12775836/doc/spa/utils/type.h:138
#define PW_KEY_MODULE_ID
module properties
Definition: src/pipewire/keys.h:249
int ref
Definition: module-filter-chain.c:123
char name[256]
Definition: module-filter-chain.c:161
int ref
Definition: pipewire.c:65
const struct spa_type_info spa_type_audio_channel[]
Definition: param/audio/type-info.h:159
#define SPA_POD_Double(val)
Definition: vararg.h:76
Definition: impl-core.c:74
#define pw_proxy_notify(p, type, event, version,...)
Definition: proxy.h:192
Definition: protocol.h:53
#define MAX_BUFFER
Definition: module-profiler.c:50
struct pw_impl_module * module
Definition: module-adapter.c:61
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-rtkit.c:670
void(* error)(void *object, uint32_t id, int seq, int res, const char *message)
Fatal error event.
Definition: core.h:161
#define LOCK_SUFFIX
Definition: module-protocol-native.c:89
void spa_ringbuffer_read_data(struct spa_ringbuffer *rbuf, const void *buffer, uint32_t size, uint32_t offset, void *data, uint32_t len)
Read len bytes from rbuf starting offset.
Definition: ringbuffer.h:103
#define PW_KEY_CLIENT_API
the client api used to access PipeWire
Definition: src/pipewire/keys.h:133
int spa_latency_parse(const struct spa_pod *latency, struct spa_latency_info *info)
Definition: latency-utils.h:83
struct spa_list link
link in impl node_list
Definition: module-filter-chain.c:156
#define DEFAULT_CHANNELS
Definition: module-protocol-simple.c:62
#define TMP_BUFFER
Definition: module-profiler.c:49
struct pw_properties * stream_props
Definition: module-example-sink.c:92
#define DEFAULT_CHANNELS
Definition: module-example-sink.c:58
pw_stream_state
The state of a stream.
Definition: stream.h:167
const char * name
Definition: module-link-factory.c:300
@ PW_STREAM_FLAG_RT_PROCESS
call process from the realtime thread.
Definition: stream.h:256
#define PW_TYPE_INTERFACE_Link
Definition: link.h:52
@ SPA_PARAM_Latency
latency reporting, a SPA_TYPE_OBJECT_ParamLatency
Definition: param.h:59
user data to add to an object
Definition: filter.c:75
struct pw_impl_module * pw_context_load_module(struct pw_context *context, const char *name, const char *args, struct pw_properties *properties)
Load a module.
Definition: impl-module.c:158
void void pw_resource_errorf_id(struct pw_resource *resource, uint32_t id, int res, const char *error,...) 1(4
struct pw_global * pw_global_new(struct pw_context *context, const char *type, uint32_t version, struct pw_properties *properties, pw_global_bind_func_t func, void *object)
Create a new global object.
Definition: global.c:66
uint8_t data[MAX_BUFFER]
Definition: module-profiler.c:87
int pw_global_add_resource(struct pw_global *global, struct pw_resource *resource)
Add a resource to a global.
Definition: global.c:230
#define SPA_DICT_INIT_ARRAY(items)
Definition: utils/dict.h:56
AvahiIfIndex interface
Definition: module-zeroconf-discover.c:87
#define NAME
Definition: module-client-device.c:38
roc_receiver * receiver
Definition: module-roc-source.c:114
bool spa_streq(const char *s1, const char *s2)
Definition: string.h:50
Definition: pod/pod.h:199
void pw_protocol_destroy(struct pw_protocol *protocol)
Definition: protocol.c:103
#define PW_KEY_OBJECT_PATH
object properties
Definition: src/pipewire/keys.h:65
uint32_t id
Definition: module-link-factory.c:299
struct spa_hook resource_listener
Definition: impl-core.c:76
#define spa_list_for_each(pos, head, member)
Definition: list.h:111
pthread_cond_t cond
Definition: module-rtkit.c:87
#define NAME
Definition: module-portal.c:82
const char * args
arguments passed to the module
Definition: module.h:47
struct spa_hook resource_listener
Definition: module-adapter.c:73
char type[64]
Definition: module-filter-chain.c:114
Module events added with pw_impl_module_add_listener.
Definition: impl-module.h:63
int remote_source_port
Definition: module-roc-sink.c:114
uint32_t pw_resource_get_permissions(struct pw_resource *resource)
Get the permissions of this resource.
Definition: resource.c:139
int client_session_factory_init(struct pw_impl_module *module)
struct pw_impl_port * pw_context_create_port(struct pw_context *context, enum pw_direction direction, uint32_t port_id, const struct spa_port_info *info, size_t user_data_size)
Create a new port.
Definition: impl-port.c:443
void * pw_impl_factory_get_user_data(struct pw_impl_factory *factory)
Definition: impl-factory.c:226
int spa_pod_builder_add(struct spa_pod_builder *builder,...)
Definition: builder.h:638
link events added with pw_impl_link_add_listener
Definition: impl-link.h:47
struct pw_stream * playback
Definition: module-echo-cancel.c:157
int rt_prio
Definition: module-rt.c:77
void(* destroy)(void *data)
The proxy is destroyed.
Definition: proxy.h:116
rlim_t rt_time_soft
Definition: module-rt.c:78
Definition: src/pipewire/loop.h:47
int32_t stride
stride of valid data
Definition: buffer/buffer.h:63
struct spa_pod * spa_format_audio_raw_build(struct spa_pod_builder *builder, uint32_t id, struct spa_audio_info_raw *info)
Definition: audio/format-utils.h:72
#define SPA_EXPORT
Definition: defs.h:208
struct port * output
Definition: module-filter-chain.c:182
@ SPA_DIRECTION_INPUT
Definition: defs.h:79
Definition: module-rtkit.c:70
Definition: module-link-factory.c:208
Global events, use pw_global_add_listener.
Definition: global.h:68
struct spa_hook conn_listener
Definition: module-protocol-native.c:110
int seq
Definition: policy-ep.c:65
DBusPendingCall * portal_pid_pending
Definition: module-portal.c:94
int pw_impl_link_register(struct pw_impl_link *link, struct pw_properties *properties)
Finish link configuration and register.
Definition: impl-link.c:1243
#define pw_log_trace(...)
Definition: src/pipewire/log.h:90
@ SPA_PROFILER_clock
clock information (Struct( Int : clock flags, Int : clock id, String: clock name, Long : clock nsec,...
Definition: profiler.h:51
const struct pw_port_info * pw_impl_port_get_info(struct pw_impl_port *port)
Get the port info.
Definition: impl-port.c:700
float * audio_data[MAX_HNDL]
Definition: module-filter-chain.c:152
#define LOCK_SUFFIXLEN
Definition: module-protocol-native.c:90
#define SPA_ROUND_UP_N(num, align)
Definition: defs.h:223
#define spa_list_last(head, type, member)
Definition: list.h:78
struct pw_stream * playback
Definition: module-roc-source.c:103
uint32_t flags
clock flags
Definition: io.h:134
#define SPA_FLAG_UPDATE(field, flag, val)
Definition: defs.h:76
struct spa_io_rate_match * rec_rate_match
Definition: module-echo-cancel.c:155
unsigned int capture_ready
Definition: module-echo-cancel.c:175
int fd
Definition: build-12775836/doc/spa/support/loop.h:62
Definition: alsa-monitor.c:82
Definition: module-filter-chain.c:155
struct pw_impl_client * client
Definition: module-protocol-native.c:140
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-echo-cancel.c:812
void * arg
Definition: module-rtkit.c:76
#define PW_VERSION_STREAM_EVENTS
Definition: stream.h:212
#define DEFAULT_NICE_LEVEL
Definition: module-rt.c:50
const char * pw_get_user_name(void)
Get the user name.
Definition: pipewire.c:663
struct spa_hook playback_listener
Definition: module-echo-cancel.c:158
unsigned long input[MAX_PORTS]
Definition: module-filter-chain.c:133
struct pw_impl_link * link
Definition: module-link-factory.c:69
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-roc-sink.c:372
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-session-manager.c:53
#define PW_KEY_DEVICE_PRODUCT_NAME
product name if applicable
Definition: src/pipewire/keys.h:227
struct spa_list link
Definition: module-zeroconf-discover.c:97
AvahiServiceBrowser * source_browser
Definition: module-zeroconf-discover.c:79
The position information adds extra meaning to the raw clock times.
Definition: io.h:271
uint32_t id
id of the global
Definition: factory.h:47
unsigned int listening
Definition: module-profiler.c:83
const char * domain
Definition: module-zeroconf-discover.c:91
Definition: build-12775836/doc/spa/support/thread.h:52
char lock_addr[UNIX_PATH_MAX+LOCK_SUFFIXLEN]
Definition: module-protocol-native.c:131
struct pw_impl_module * module
Definition: module-protocol-native.c:96
#define NAME
Definition: module-access.c:125
uint32_t n_output
Definition: module-filter-chain.c:206
void pw_proxy_destroy(struct pw_proxy *proxy)
destroy a proxy
Definition: proxy.c:229
#define strdupa(s)
Definition: src/pipewire/utils.h:79
#define DEFAULT_CHANNELS
Definition: module-example-source.c:58
struct spa_list descriptor_list
Definition: module-filter-chain.c:118
struct pw_properties * props
Definition: module-example-sink.c:81
@ SPA_PROFILER_followerBlock
generic follower info block (Struct( Int : id, String : name, Long : prev_signal, Long : signal,...
Definition: profiler.h:75
struct pw_global * pw_impl_core_get_global(struct pw_impl_core *core)
Get the global of this core.
Definition: impl-core.c:666
struct pw_protocol * pw_protocol_native_ext_client_device_init(struct pw_context *context)
uint32_t id
Definition: access-flatpak.c:54
struct pw_protocol * protocol
Definition: module-protocol-native.c:98
#define PW_KEY_MEDIA_NAME
media name.
Definition: src/pipewire/keys.h:286
Proxy events, use pw_proxy_add_listener.
Definition: proxy.h:111
#define SERVER_TYPE_INET
Definition: module-protocol-simple.c:131
uint32_t version
Definition: module.h:83
float silence_data[MAX_SAMPLES]
Definition: module-filter-chain.c:215
int pw_rtkit_get_max_realtime_priority(struct pw_rtkit_bus *connection)
Definition: module-rtkit.c:293
void spa_hook_list_append(struct spa_hook_list *list, struct spa_hook *hook, const void *funcs, void *data)
Append a hook.
Definition: hook.h:316
#define PW_KEY_CORE_DAEMON
If the core is listening for connections.
Definition: src/pipewire/keys.h:86
#define SPA_VERSION_THREAD_UTILS_METHODS
Definition: build-12775836/doc/spa/support/thread.h:56
struct pw_stream * playback
Definition: module-protocol-simple.c:116
struct spa_hook core_listener
Definition: module-echo-cancel.c:143
#define PW_KEY_NODE_LINK_GROUP
the node is internally linked to nodes with the same link-group
Definition: src/pipewire/keys.h:179
roc_address remote_repair_addr
Definition: module-roc-sink.c:108
int spa_pod_builder_push_object(struct spa_pod_builder *builder, struct spa_pod_frame *frame, uint32_t type, uint32_t id)
Definition: builder.h:426
struct pw_work_queue * pw_context_get_work_queue(struct pw_context *context)
Get the work queue from the context: Since 0.3.26.
Definition: context.c:573
const struct pw_properties * pw_global_get_properties(struct pw_global *global)
Get the global properties.
Definition: global.c:203
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-client-node.c:152
struct spa_pod pod
Definition: pod/pod.h:162
#define PW_KEY_AUDIO_CHANNELS
number of audio channels
Definition: src/pipewire/keys.h:307
@ SPA_IO_RateMatch
rate matching between nodes, struct spa_io_rate_match
Definition: io.h:60
#define SERVER_TYPE_UNIX
Definition: module-protocol-simple.c:130
uint32_t id
id of the global
Definition: module.h:44
#define SPA_PTROFF(ptr_, offset_, type_)
Return the address (buffer + offset) as pointer of type.
Definition: defs.h:159
unsigned int do_disconnect
Definition: module-roc-sink.c:103
struct spa_node * node
Definition: buffers.c:45
struct spa_hook core_proxy_listener
Definition: module-roc-source.c:101
pid_t portal_pid
Definition: module-portal.c:95
unsigned int sink_ready
Definition: module-echo-cancel.c:176
struct pw_impl_module * module
Definition: module-zeroconf-discover.c:99
Definition: module-filter-chain.c:197
struct spa_hook playback_listener
Definition: module-roc-source.c:104
thread utils
Definition: build-12775836/doc/spa/support/thread.h:55
The events that a client can emit.
Definition: impl-client.h:88
#define SPA_DICT_INIT(items, n_items)
Definition: utils/dict.h:55
struct spa_hook core_proxy_listener
Definition: module-protocol-simple.c:108
int sess_latency_msec
Definition: module-roc-source.c:120
bool spa_strstartswith(const char *s, const char *prefix)
Definition: string.h:71
struct pw_proxy * pw_core_spa_device_export(struct pw_core *core, const char *type, const struct spa_dict *props, void *object, size_t user_data_size)
enum spa_audio_format format
Definition: audio/raw.h:286
#define DEFAULT_SERVER
Definition: module-protocol-simple.c:58
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-native.c:1294
#define NAME
Definition: module-protocol-native.c:70
struct spa_list protocol_link
Definition: module-protocol-native.c:143
roc_address local_addr
Definition: module-roc-sink.c:106
Definition: permission.h:64
uint32_t id
Definition: module-echo-cancel.c:139
@ PW_STREAM_FLAG_AUTOCONNECT
try to automatically connect this stream
Definition: stream.h:249
#define PW_TYPE_INTERFACE_Core
Definition: core.h:54
#define PW_KEY_PROTOCOL
protocol used for connection
Definition: src/pipewire/keys.h:47
#define ROC_DEFAULT_REPAIR_PORT
Definition: module-roc-sink.c:86
unsigned int linger
Definition: module-adapter.c:75
#define MODE_CAPTURE
Definition: module-pulse-tunnel.c:88
uint32_t version
Definition: impl-node.h:53
roc_address local_source_addr
Definition: module-roc-source.c:111
@ SPA_TYPE_OBJECT_Profiler
Definition: build-12775836/doc/spa/utils/type.h:97
A ringbuffer type.
Definition: ringbuffer.h:46
void pw_impl_module_add_listener(struct pw_impl_module *module, struct spa_hook *listener, const struct pw_impl_module_events *events, void *data)
Add an event listener to a module.
Definition: impl-module.c:371
#define SPA_POD_BUILDER_INIT(buffer, size)
Definition: builder.h:71
struct spa_hook core_listener
Definition: module-roc-sink.c:96
#define PW_VERSION_LINK
Definition: link.h:54
void * pw_global_get_object(struct pw_global *global)
Get the object associated with the global.
Definition: global.c:218
#define MODULE_USAGE
Definition: module-example-sink.c:61
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-access.c:364
long long pw_rtkit_get_rttime_usec_max(struct pw_rtkit_bus *connection)
Definition: module-rtkit.c:313
#define SPA_INTERFACE_INIT(_type, _version, _funcs, _data)
Initialize a spa_interface.
Definition: hook.h:165
struct spa_audio_info_raw info
Definition: module-echo-cancel.c:145
@ SPA_PARAM_Props
properties as SPA_TYPE_OBJECT_Props
Definition: param.h:46
void pw_rtkit_bus_free(struct pw_rtkit_bus *system_bus)
Definition: module-rtkit.c:176
#define SPA_POD_INIT_Struct(size)
Definition: builder.h:411
pa_stream * pa_stream
Definition: module-pulse-tunnel.c:114
void * data
Definition: builder.h:64
void * hndl
Definition: module-filter-chain.c:188
int endpoint_link_factory_init(struct pw_impl_module *module)
Definition: build-12775836/doc/spa/support/loop.h:58
Definition: build-12775836/doc/spa/support/loop.h:44
uint32_t channels
Definition: audio/raw.h:289
const char * pw_stream_state_as_string(enum pw_stream_state state)
Convert a stream state to a readable string.
Definition: stream.c:1401
struct spa_dict dict
dictionary of key/values
Definition: properties.h:50
#define pw_loop_destroy_source(l,...)
Definition: src/pipewire/loop.h:80
struct factory_data * data
Definition: module-link-factory.c:67
roc_context * context
Definition: module-roc-sink.c:109
unsigned int flushing
Definition: module-profiler.c:82
struct pw_impl_port * port
Definition: module-link-factory.c:213
uint32_t rate
Definition: module-filter-chain.c:246
Definition: utils/dict.h:41
AvahiPoll * avahi_poll
Definition: module-zeroconf-discover.c:76
enum spa_direction direction
Definition: module-link-factory.c:211
double rate_diff
rate difference between clock and monotonic time
Definition: io.h:145
struct pw_context * context
Definition: module-adapter.c:60
Definition: module-link-factory.c:66
#define SPA_CONTAINER_OF(p, t, m)
Definition: defs.h:170
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-filter-chain.c:1625
#define DEFAULT_POSITION
Definition: module-example-sink.c:59
const struct pw_protocol_marshal * pw_proxy_get_marshal(struct pw_proxy *proxy)
Get the marshal functions for the proxy.
Definition: proxy.c:356
struct pw_core * pw_context_connect(struct pw_context *context, struct pw_properties *properties, size_t user_data_size)
Connect to a PipeWire instance.
Definition: core.c:401
int(* connect_fd)(struct pw_protocol_client *client, int fd, bool close)
Definition: protocol.h:63
@ SPA_PARAM_Format
configured format as SPA_TYPE_OBJECT_Format
Definition: param.h:48
struct pw_global * global
Definition: module-profiler.c:76
struct plugin * plugin
Definition: module-filter-chain.c:124
@ PW_STREAM_STATE_PAUSED
paused
Definition: stream.h:171
uint32_t n_control
Definition: module-filter-chain.c:212
#define PW_KEY_SEC_UID
Client uid, set by protocol.
Definition: src/pipewire/keys.h:56
struct pw_properties * playback_props
Definition: module-filter-chain.c:238
struct graph_port input[MAX_PORTS]
Definition: module-filter-chain.c:204
#define NAME
Definition: module-link-factory.c:40
void pw_impl_module_destroy(struct pw_impl_module *module)
Destroy a module.
Definition: impl-module.c:293
#define spa_list_consume(pos, head, member)
Definition: list.h:96
Definition: module-filter-chain.c:186
#define SPA_TYPE_INTERFACE_Node
Definition: build-12775836/doc/spa/node/node.h:50
struct pw_impl_core * core
Definition: protocol.h:81
struct fc_plugin * plugin
Definition: module-filter-chain.c:117
#define spa_dbus_connection_destroy(c)
Definition: dbus.h:113
int spa_json_is_container(const char *val, int len)
Definition: json.h:195
struct spa_interface iface
Definition: build-12775836/doc/spa/support/thread.h:52
#define DEFAULT_RT_TIME_SOFT
Definition: module-rtkit.c:53
void * spa_pod_builder_pop(struct spa_pod_builder *builder, struct spa_pod_frame *frame)
Definition: builder.h:175
const struct fc_descriptor * desc
Definition: module-filter-chain.c:127
struct sm_client * obj
Definition: access-flatpak.c:52
int pw_context_for_each_global(struct pw_context *context, int(*callback)(void *data, struct pw_global *global), void *data)
Iterate the globals of the context.
Definition: context.c:619
struct spa_list tunnel_list
Definition: module-zeroconf-discover.c:81
struct pw_port * port
Definition: filter.c:96
int64_t count
Definition: module-profiler.c:78
#define PW_KEY_CORE_NAME
The name of the core.
Definition: src/pipewire/keys.h:82
void pw_module_info_free(struct pw_module_info *info)
Free a pw_module_info.
Definition: introspect.c:357
const struct pw_properties * pw_impl_port_get_properties(struct pw_impl_port *port)
Get the port properties.
Definition: impl-port.c:665
struct spa_hook core_proxy_listener
Definition: module-echo-cancel.c:142
const char * name
Definition: build-12775836/doc/spa/utils/type.h:140
#define PW_KEY_LINK_INPUT_NODE
input node id of a link
Definition: src/pipewire/keys.h:198
const struct pw_protocol_marshal * pw_resource_get_marshal(struct pw_resource *resource)
Get the marshal functions for the resource.
Definition: resource.c:189
void(* disconnect)(struct pw_protocol_client *client)
Definition: protocol.h:65
#define PW_KEY_NODE_NICK
short node name
Definition: src/pipewire/keys.h:139
#define SPA_VERSION_POD_BUILDER_CALLBACKS
Definition: builder.h:57
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
#define PW_KEY_NODE_GROUP
the group id this node is part of.
Definition: src/pipewire/keys.h:146
struct pw_resource * resource
Definition: module-adapter.c:71
Definition: module-link-factory.c:298
int ref
Definition: module-protocol-native.c:112
struct pw_global * pw_impl_node_get_global(struct pw_impl_node *node)
Get the global of this node.
Definition: impl-node.c:1249
#define RINGBUFFER_SIZE
Definition: module-pulse-tunnel.c:79
rate matching
Definition: io.h:287
void pw_global_add_listener(struct pw_global *global, struct spa_hook *listener, const struct pw_global_events *events, void *data)
Add an event listener on the global.
Definition: global.c:255
uint32_t offset
offset of valid data.
Definition: buffer/buffer.h:58
#define MODULE_USAGE
Definition: module-rtkit.c:56
int spa_pod_builder_bool(struct spa_pod_builder *builder, bool val)
Definition: builder.h:233
Definition: module-zeroconf-discover.c:86
uint32_t id
unique clock id, set by application
Definition: io.h:135
context events emitted by the context object added with pw_context_add_listener
Definition: context.h:72
struct spa_hook global_listener
Definition: module-link-factory.c:76
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-roc-source.c:417
struct spa_list client_list
list of clients of this protocol
Definition: protocol.h:83
void pw_protocol_native_init(struct pw_protocol *protocol)
#define PW_DIRECTION_OUTPUT
Definition: port.h:58
uint64_t size
This field is set by the user and the sum of all queued buffer is returned in the time info.
Definition: stream.h:178
#define SPA_KEY_AUDIO_POSITION
channel positions as comma separated list of channels ex.
Definition: audio/raw.h:301
struct pw_resource * factory_resource
Definition: module-link-factory.c:78
float default_control[MAX_PORTS]
Definition: module-filter-chain.c:137
@ PW_LINK_STATE_ERROR
the link is in error
Definition: link.h:59
@ SPA_PROP_INFO_name
name of the property
Definition: props.h:43
struct port * input
Definition: module-filter-chain.c:183
@ SPA_AUDIO_FORMAT_F32_LE
Definition: audio/raw.h:77
struct pw_protocol * protocol
the owner protocol
Definition: protocol.h:55
int32_t spa_ringbuffer_get_read_index(struct spa_ringbuffer *rbuf, uint32_t *index)
Get the read index and available bytes for reading.
Definition: ringbuffer.h:85
struct pw_buffer * pw_stream_dequeue_buffer(struct pw_stream *stream)
Get a buffer that can be filled for playback streams or consumed for capture streams.
Definition: stream.c:2017
int32_t spa_ringbuffer_get_write_index(struct spa_ringbuffer *rbuf, uint32_t *index)
Get the write index and the number of bytes inside the ringbuffer.
Definition: ringbuffer.h:135
struct pw_export_type export_node
Definition: module-client-node.c:64
#define pw_loop_add_event(l,...)
Definition: src/pipewire/loop.h:75
uint32_t n_output
Definition: module-filter-chain.c:130
void spa_list_remove(struct spa_list *elem)
Definition: list.h:69
#define DEFAULT_RT_TIME_HARD
Definition: module-rtkit.c:54
struct pw_properties * sink_props
Definition: module-echo-cancel.c:159
#define PW_KEY_MODULE_AUTHOR
the author's name
Definition: src/pipewire/keys.h:251
#define TUNNEL_INFO(...)
Definition: module-zeroconf-discover.c:94
struct pw_impl_module * module
Definition: module-echo-cancel.c:135
bool playback
Definition: module-protocol-simple.c:96
int pw_properties_serialize_dict(FILE *f, const struct spa_dict *dict, uint32_t flags)
Definition: properties.c:567
void spa_ringbuffer_write_data(struct spa_ringbuffer *rbuf, void *buffer, uint32_t size, uint32_t offset, const void *data, uint32_t len)
Write len bytes to buffer starting offset.
Definition: ringbuffer.h:153
int pw_global_bind(struct pw_global *global, struct pw_impl_client *client, uint32_t permissions, uint32_t version, uint32_t id)
Let a client bind to a global.
Definition: global.c:277
#define MAX_SAMPLES
Definition: module-filter-chain.c:109
#define ROC_DEFAULT_SOURCE_PORT
Definition: module-roc-source.c:88
const char * name
Definition: module-zeroconf-discover.c:89
#define SPA_AUDIO_MAX_CHANNELS
Definition: audio/raw.h:43
#define PW_KEY_LINK_INPUT_PORT
input port id of a link
Definition: src/pipewire/keys.h:199
Definition: module-adapter.c:55
#define PW_KEY_MODULE_DESCRIPTION
a human readable one-line description of the module's purpose.
Definition: src/pipewire/keys.h:252
struct spa_hook sink_listener
Definition: module-echo-cancel.c:161
struct pw_global * pw_context_find_global(struct pw_context *context, uint32_t id)
Find a context global by id.
Definition: context.c:636
@ SPA_AUDIO_FORMAT_UNKNOWN
Definition: audio/raw.h:46
void pw_protocol_native0_init(struct pw_protocol *protocol)
struct sockaddr_un addr
Definition: module-protocol-native.c:130
int spa_debug_mem(int indent, const void *data, size_t size)
Definition: build-12775836/doc/spa/debug/mem.h:43
void * spa_pod_from_data(void *data, size_t maxsize, off_t offset, size_t size)
Definition: iter.h:135
#define PW_TYPE_INTERFACE_Node
Definition: src/pipewire/node.h:50
struct pw_protocol_native_connection * connection
Definition: module-protocol-native.c:109
struct spa_hook context_listener
Definition: module-access.c:143
struct pw_rtkit_bus * system_bus
Definition: module-rtkit.c:84
void pw_stream_add_listener(struct pw_stream *stream, struct spa_hook *listener, const struct pw_stream_events *events, void *data)
Definition: stream.c:1472
struct spa_list client_list
Definition: module-protocol-simple.c:136
struct pw_properties * source_props
Definition: module-echo-cancel.c:149
void pw_proxy_unref(struct pw_proxy *proxy)
Definition: proxy.c:290
A Buffer.
Definition: buffer/buffer.h:93
uint32_t port
Definition: module-filter-chain.c:189
void(* destroy)(struct pw_protocol_client *client)
Definition: protocol.h:66
#define PW_PERM_ALL
Definition: permission.h:61
float control_data
Definition: module-filter-chain.c:151
struct spa_pod * spa_latency_build(struct spa_pod_builder *builder, uint32_t id, const struct spa_latency_info *info)
Definition: latency-utils.h:102
#define PW_KEY_FACTORY_ID
Factory properties.
Definition: src/pipewire/keys.h:259
struct spa_ringbuffer ring
Definition: module-pulse-tunnel.c:108
Definition: pipewire.c:59
#define MODULE_USAGE
Definition: module-zeroconf-discover.c:54
#define ROC_DEFAULT_IP
Definition: module-roc-source.c:87
#define PW_KEY_NODE_DESCRIPTION
localized human readable node one-line description.
Definition: src/pipewire/keys.h:140
uint32_t size
requested input size for resampler
Definition: io.h:289
#define _(String)
Definition: src/pipewire/i18n.h:37
Definition: module-filter-chain.c:121
struct spa_source * flush_timeout
Definition: module-profiler.c:81
#define MODE_PLAYBACK
Definition: module-pulse-tunnel.c:87
#define PW_KEY_NODE_NAME
node name
Definition: src/pipewire/keys.h:138
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:295
void pw_thread_utils_set(struct spa_thread_utils *impl)
Definition: thread.c:84
int pw_impl_port_is_linked(struct pw_impl_port *port)
check is a port has links, return 0 if not, 1 if it is linked
Definition: impl-port.c:1359
struct factory_data * data
Definition: module-adapter.c:66
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-pulse.c:84
const char * pw_get_host_name(void)
Get the host name.
Definition: pipewire.c:675
struct pw_context * pw_core_get_context(struct pw_core *core)
Get the context object used to created this core.
Definition: core.c:131
#define PW_VERSION_IMPL_NODE_EVENTS
Definition: impl-node.h:52
Definition: protocol.h:103
int nice_level
Definition: module-rtkit.c:92
Definition: module-filter-chain.c:192
#define pw_loop_add_io(l,...)
Definition: src/pipewire/loop.h:71
#define ROC_DEFAULT_SOURCE_PORT
Definition: module-roc-sink.c:85
void pw_resource_errorf(struct pw_resource *resource, int res, const char *error,...) 1(3
uint32_t permissions
bitmask of above permissions
Definition: permission.h:66
#define PW_KEY_NODE_LATENCY
the requested latency of the node as a fraction.
Definition: src/pipewire/keys.h:154
int pw_rtkit_get_min_nice_level(struct pw_rtkit_bus *connection, int *min_nice_level)
Definition: module-rtkit.c:302
struct pw_export_type export_metadata
Definition: module-metadata.c:63
bool spa_json_is_null(const char *val, int len)
Definition: json.h:230
void pw_stream_destroy(struct pw_stream *stream)
Destroy a stream.
Definition: stream.c:1419
pthread_t thread
Definition: module-rtkit.c:73
#define PW_VERSION_RESOURCE_EVENTS
Definition: resource.h:61
#define PW_KEY_AUDIO_RATE
an audio samplerate
Definition: src/pipewire/keys.h:306
@ PW_STREAM_STATE_UNCONNECTED
unconnected
Definition: stream.h:169
uint64_t position
current position
Definition: io.h:141
struct spa_hook module_listener
Definition: module-roc-sink.c:91
struct pw_proxy * pw_core_find_proxy(struct pw_core *core, uint32_t id)
Get the proxy with the given id.
Definition: core.c:268
#define SPA_IO_OUT
Definition: system.h:56
struct spa_hook playback_listener
Definition: module-protocol-simple.c:117
unsigned long notify[MAX_PORTS]
Definition: module-filter-chain.c:136
@ SPA_AUDIO_CHANNEL_FL
front left
Definition: audio/raw.h:174
struct spa_list link_list
Definition: module-filter-chain.c:147
@ SPA_AUDIO_FORMAT_S24
Definition: audio/raw.h:111
struct pw_stream * capture
Definition: module-echo-cancel.c:147
struct impl * impl
Definition: module-filter-chain.c:198
struct pw_global * pw_impl_module_get_global(struct pw_impl_module *module)
Get the global of a module.
Definition: impl-module.c:329
bool capture
Definition: module-protocol-simple.c:95
@ SPA_AUDIO_FORMAT_S24_BE
Definition: audio/raw.h:66
int pw_impl_node_register(struct pw_impl_node *node, struct pw_properties *properties)
Complete initialization of the node and register.
Definition: impl-node.c:650
void pw_resource_add_listener(struct pw_resource *resource, struct spa_hook *listener, const struct pw_resource_events *events, void *data)
Add an event listener.
Definition: resource.c:165
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-adapter.c:312
struct pw_loop * loop
Definition: module-protocol-simple.c:86
#define SPA_VERSION_THREAD_UTILS
Definition: build-12775836/doc/spa/support/thread.h:51
AvahiProtocol protocol
Definition: module-zeroconf-discover.c:88
struct pw_stream * capture
Definition: module-roc-sink.c:99
struct spa_list link_list
Definition: module-link-factory.c:59
void spa_json_init(struct spa_json *iter, const char *data, size_t size)
Definition: json.h:59
unsigned int unloading
Definition: module-roc-source.c:108
char * remote_ip
Definition: module-roc-sink.c:113
char name[64]
clock name prefixed with API, set by node.
Definition: io.h:136
uint32_t mode
Definition: module-pulse-tunnel.c:89
uint32_t n_input
Definition: module-filter-chain.c:129
uint32_t external
Definition: module-filter-chain.c:149
struct pw_properties * capture_props
Definition: module-filter-chain.c:233
struct port input_port[MAX_PORTS]
Definition: module-filter-chain.c:164
int pw_impl_factory_register(struct pw_impl_factory *factory, struct pw_properties *properties)
Definition: impl-factory.c:176
Node events, listen to them with pw_impl_node_add_listener.
Definition: impl-node.h:51
#define SPA_IO_ERR
Definition: system.h:57
void * aec
Definition: module-echo-cancel.c:172
int pw_core_disconnect(struct pw_core *core)
disconnect and destroy a core
Definition: core.c:488
struct spa_hook module_listener
Definition: module-protocol-native.c:97
struct spa_list link
Definition: context.h:148
struct spa_source * resume
Definition: module-protocol-native.c:135
struct pw_context * context
Definition: module-protocol-native.c:105
struct graph graph
Definition: module-filter-chain.c:248
uint64_t duration
duration of current cycle
Definition: io.h:142
Definition: module-adapter.c:65
int pw_stream_connect(struct pw_stream *stream, enum pw_direction direction, uint32_t target_id, enum pw_stream_flags flags, const struct spa_pod **params, uint32_t n_params)
Connect a stream for input or output on port_path.
Definition: stream.c:1602
#define DEFAULT_FORMAT
Definition: module-protocol-simple.c:60
struct pw_impl_node * adapter
Definition: module-adapter.c:68
#define DEFAULT_FORMAT
Definition: module-example-source.c:56
uint32_t key
key of property, list of valid keys depends on the object type
Definition: pod/pod.h:200
#define SPA_FLAG_IS_SET(field, flag)
Definition: defs.h:73
char * resampler_profile
Definition: module-roc-source.c:116
void spa_pod_parser_pod(struct spa_pod_parser *parser, const struct spa_pod *pod)
Definition: parser.h:64
Definition: protocol.h:77
#define SPA_IO_CLOCK_FLAG_FREEWHEEL
Definition: io.h:133
void spa_list_init(struct spa_list *list)
Definition: list.h:44
struct spa_node * node
Definition: alsa-monitor.c:76
Module events.
Definition: module.h:66
#define spa_list_for_each_safe(pos, tmp, head, member)
Definition: list.h:129
#define PW_KEY_LINK_OUTPUT_PORT
output port id of a link
Definition: src/pipewire/keys.h:201
void spa_pod_builder_init(struct spa_pod_builder *builder, void *data, uint32_t size)
Definition: builder.h:96
struct spa_hook client_listener
Definition: module-protocol-native.c:141
struct spa_chunk * chunk
valid chunk of memory
Definition: buffer/buffer.h:89
struct pw_properties * props
Definition: module-roc-source.c:96
Definition: utils/dict.h:48
struct pw_stream * sink
Definition: module-echo-cancel.c:160
unsigned int activated
Definition: module-protocol-native.c:136
struct server * local
Definition: module-protocol-native.c:100
#define DEFAULT_RT_PRIO
Definition: module-rt.c:51
#define PW_VERSION_IMPL_FACTORY_IMPLEMENTATION
Definition: impl-factory.h:63
#define PW_KEY_NODE_TARGET
node wants to be connected to the target node/session
Definition: src/pipewire/keys.h:152
int spa_pod_builder_string(struct spa_pod_builder *builder, const char *str)
Definition: builder.h:303
int pw_impl_port_add(struct pw_impl_port *port, struct pw_impl_node *node)
Add a port to a node.
Definition: impl-port.c:926
#define ROC_DEFAULT_REPAIR_PORT
Definition: module-roc-source.c:89
#define DEFAULT_POSITION
Definition: module-protocol-simple.c:63
struct pw_protocol * pw_context_find_protocol(struct pw_context *context, const char *name)
Definition: protocol.c:179
The module information.
Definition: module.h:43
bool spa_atoi32(const char *str, int32_t *val, int base)
Convert str to an int32_t with the given base and store the result in val.
Definition: string.h:109
struct spa_source * source
Definition: module-protocol-native.c:146
uint32_t id
Definition: module-link-factory.c:209
@ SPA_PROP_INFO_params
is part of params property (Bool)
Definition: props.h:51
@ SPA_DIRECTION_OUTPUT
Definition: defs.h:80
struct spa_hook module_listener
Definition: module-roc-source.c:95
#define SO_PEERSEC
Definition: module-protocol-native.c:84
#define DEFAULT_RT_TIME_HARD
Definition: module-rt.c:53
struct pw_protocol * pw_protocol_native_ext_client_node_init(struct pw_context *context)
#define pw_loop_signal_event(l,...)
Definition: src/pipewire/loop.h:76
struct pw_global * global
Definition: module-link-factory.c:75
#define SPA_TYPE_INTERFACE_ThreadUtils
Definition: build-12775836/doc/spa/support/thread.h:50
struct spa_list server_list
Definition: module-protocol-simple.c:91
struct spa_list link_list
Definition: module-filter-chain.c:201
#define MAX_PORTS
Definition: module-filter-chain.c:107
struct graph_hndl hndl[MAX_HNDL]
Definition: module-filter-chain.c:210
int spa_pod_parser_get_float(struct spa_pod_parser *parser, float *value)
Definition: parser.h:172
struct pw_protocol * protocol
the owner protocol
Definition: protocol.h:79
#define RINGBUFFER_MASK
Definition: module-pulse-tunnel.c:80
const char * spa_dict_lookup(const struct spa_dict *dict, const char *key)
Definition: utils/dict.h:99
roc_sender * sender
Definition: module-roc-sink.c:110
struct spa_io_rate_match * rate_match
Definition: module-protocol-simple.c:119
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-loopback.c:392
#define DEFAULT_LATENCY
Definition: module-protocol-simple.c:64
int spa_json_parse_string(const char *val, int len, char *result)
Definition: json.h:316
rlim_t rt_time_hard
Definition: module-rt.c:79
struct spa_hook source_listener
Definition: module-echo-cancel.c:151
struct pw_stream * pw_stream_new(struct pw_core *core, const char *name, struct pw_properties *props)
Create a new unconneced Stream Object.
Definition: stream.c:1335
#define SPA_VERSION_DEVICE
Definition: build-12775836/doc/spa/monitor/device.h:52
int spa_json_get_string(struct spa_json *iter, char *res, int maxlen)
Definition: json.h:360
struct spa_ringbuffer rec_ring
Definition: module-echo-cancel.c:154
struct spa_thread_utils thread_utils
Definition: module-rt.c:75
struct pw_impl_node * follower
Definition: module-adapter.c:69
struct graph * graph
Definition: module-filter-chain.c:157
#define NAME
Definition: module-protocol-simple.c:55
void * spa_support_find(const struct spa_support *support, uint32_t n_support, const char *type)
Find a support item of the given type.
Definition: plugin.h:95
const struct pw_properties * pw_context_get_properties(struct pw_context *context)
Get the context properties.
Definition: context.c:581
@ SPA_PARAM_EnumFormat
available formats as SPA_TYPE_OBJECT_Format
Definition: param.h:47
void * pw_protocol_get_user_data(struct pw_protocol *protocol)
Definition: protocol.c:83
struct spa_hook module_listener
Definition: module-zeroconf-discover.c:100
#define NAME
Definition: module-profiler.c:47
struct spa_io_clock clock
clock position of driver, always valid and read only
Definition: io.h:272
struct spa_hook module_listener
Definition: module-adapter.c:62
char name[512]
Definition: module-protocol-simple.c:111
#define PW_PERMISSION_INIT(id, p)
Definition: permission.h:69
bool pw_debug_is_category_enabled(const char *name)
Check if a debug category is enabled.
Definition: pipewire.c:594
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-zeroconf-discover.c:475
uint32_t rec_ringsize
Definition: module-echo-cancel.c:153
uint32_t n_hndl
Definition: module-filter-chain.c:169
#define SPA_MEMBER(b, o, t)
Deprecated, use SPA_PTROFF and SPA_PTROFF_ALIGN instead.
Definition: defs.h:167
#define PW_VERSION_CORE_EVENTS
Definition: core.h:115
int local_repair_port
Definition: module-roc-source.c:119
struct spa_list threads_list
Definition: module-rtkit.c:89
roc_address local_addr
Definition: module-roc-source.c:110
@ SPA_PROP_INFO_type
type and range/enums of property
Definition: props.h:44
#define PW_VERSION_IMPL_LINK_EVENTS
Definition: impl-link.h:48
#define SPA_AUDIO_INFO_RAW_INIT(...)
Definition: audio/raw.h:293
#define ROC_DEFAULT_SESS_LATENCY
Definition: module-roc-source.c:90
#define spa_strerror(err)
Definition: result.h:51
int int pw_stream_update_params(struct pw_stream *stream, const struct spa_pod **params, uint32_t n_params)
Complete the negotiation process with result code res.
Definition: stream.c:1883
#define MODULE_USAGE
Definition: module-example-source.c:61
struct spa_dict * props
extra properties
Definition: module.h:51
@ SPA_AUDIO_FORMAT_S24_32
Definition: audio/raw.h:107
struct pw_work_queue * work
Definition: module-echo-cancel.c:136
#define NAME
Definition: module-pulse-tunnel.c:57
unsigned int unloading
Definition: module-roc-sink.c:104
struct pw_protocol_server this
Definition: module-protocol-native.c:127
#define pw_profiler_resource_profile(r,...)
Definition: module-profiler.c:60
#define SPA_IO_IN
Definition: system.h:55
struct impl * impl
Definition: module-rtkit.c:71
#define PW_ID_CORE
default ID for the core object after connect
Definition: core.h:66
struct pw_resource * pw_resource_new(struct pw_impl_client *client, uint32_t id, uint32_t permissions, const char *type, uint32_t version, size_t user_data_size)
Make a new resource for client.
Definition: resource.c:43
struct pw_impl_client * pw_resource_get_client(struct pw_resource *resource)
Get the client owning this resource.
Definition: resource.c:127
const void * client_demarshal
Definition: protocol.h:100
struct port output_port[MAX_PORTS]
Definition: module-filter-chain.c:165
@ SPA_AUDIO_FORMAT_S24_LE
Definition: audio/raw.h:65
const struct pw_module_info * pw_impl_module_get_info(struct pw_impl_module *module)
Get the module info.
Definition: impl-module.c:365
@ SPA_TYPE_OBJECT_Props
Definition: build-12775836/doc/spa/utils/type.h:89
@ SPA_AUDIO_FORMAT_S24P
Definition: audio/raw.h:88
int local_source_port
Definition: module-roc-source.c:118
void * pw_context_get_object(struct pw_context *context, const char *type)
get an object from the context
Definition: context.c:1430
#define pw_loop_add_timer(l,...)
Definition: src/pipewire/loop.h:77
uint32_t pw_work_queue_add(struct pw_work_queue *queue, void *obj, int res, pw_work_func_t func, void *data)
Add an item to the work queue.
Definition: work-queue.c:162
struct pw_properties * pw_properties_new_string(const char *args)
Make a new properties object from the given str.
Definition: properties.c:197
unsigned int need_flush
Definition: module-protocol-native.c:151
#define SPA_IO_HUP
Definition: system.h:58
float discard_data[MAX_SAMPLES]
Definition: module-filter-chain.c:216
#define pw_log_debug(...)
Definition: src/pipewire/log.h:89
int pw_impl_client_update_permissions(struct pw_impl_client *client, uint32_t n_permissions, const struct pw_permission *permissions)
Update the client permissions.
Definition: impl-client.c:646
struct tunnel_info info
Definition: module-zeroconf-discover.c:98
int pw_rtkit_make_high_priority(struct pw_rtkit_bus *connection, pid_t thread, int nice_level)
Definition: module-rtkit.c:379
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-example-sink.c:363
uint32_t play_ringsize
Definition: module-echo-cancel.c:163
struct spa_ringbuffer buffer
Definition: module-profiler.c:85
@ SPA_AUDIO_FORMAT_S16
Definition: audio/raw.h:105
Definition: module-protocol-native.c:103
#define PW_KEY_LINK_OUTPUT_NODE
output node id of a link
Definition: src/pipewire/keys.h:200
int spa_json_next(struct spa_json *iter, const char **value)
Get the next token.
Definition: json.h:74
roc_address remote_source_addr
Definition: module-roc-sink.c:107
#define PW_KEY_NODE_VIRTUAL
the node is some sort of virtual object
Definition: src/pipewire/keys.h:174
#define SPA_FALLTHROUGH
SPA_FALLTHROUGH is an annotation to suppress compiler warnings about switch cases that fall through w...
Definition: defs.h:69
void * buffer
Definition: module-pulse-tunnel.c:109
struct spa_list node_list
Definition: module-adapter.c:58
#define PW_VERSION_IMPL_MODULE_EVENTS
Definition: impl-module.h:64
struct spa_list link
Definition: module-protocol-simple.c:126
int spa_pod_get_float(const struct spa_pod *pod, float *value)
Definition: iter.h:208
int spa_pod_builder_prop(struct spa_pod_builder *builder, uint32_t key, uint32_t flags)
Definition: builder.h:441
int(* set_paused)(struct pw_protocol_client *client, bool paused)
Definition: protocol.h:67
#define DEFAULT_RATE
Definition: module-example-sink.c:57
unsigned int busy
Definition: module-protocol-native.c:150
const void * server_demarshal
Definition: protocol.h:98
void pw_impl_factory_destroy(struct pw_impl_factory *factory)
Definition: impl-factory.c:82
void pw_global_destroy(struct pw_global *global)
Destroy a global.
Definition: global.c:369
#define spa_list_first(head, type, member)
Definition: list.h:75
#define DEFAULT_POSITION
Definition: module-example-source.c:59
struct pw_context * module_context
Definition: module-roc-source.c:97
int pw_protocol_native_ext_profiler_init(struct pw_context *context)
const struct fc_descriptor * desc
Definition: module-filter-chain.c:187
#define SPA_MIN(a, b)
Definition: defs.h:123
@ SPA_AUDIO_CHANNEL_UNKNOWN
unspecified
Definition: audio/raw.h:169
#define PW_VERSION_GLOBAL_EVENTS
Definition: global.h:69
#define SPA_ID_INVALID
Definition: defs.h:182
uint8_t tmp[TMP_BUFFER]
Definition: module-profiler.c:86
struct pw_context * context
Definition: settings.c:43
void pw_impl_link_add_listener(struct pw_impl_link *link, struct spa_hook *listener, const struct pw_impl_link_events *events, void *data)
Add an event listener to link.
Definition: impl-link.c:1350
@ SPA_PROFILER_info
Generic info, counter and CPU load, (Struct( Long : counter, Float : cpu_load fast,...
Definition: profiler.h:44
uint32_t empty
Definition: module-profiler.c:80
#define SPA_POD_Fraction(val)
Definition: vararg.h:91
#define PW_KEY_MEDIA_CLASS
class Ex: "Video/Source"
Definition: src/pipewire/keys.h:285
int pw_properties_update_string(struct pw_properties *props, const char *str, size_t size)
Update the properties from the given string, overwriting any existing keys with the new values from s...
Definition: properties.c:154
int pw_properties_set(struct pw_properties *properties, const char *key, const char *value)
Set a property value.
Definition: properties.c:435
struct pw_impl_node * node
Definition: module-link-factory.c:301
#define PW_KEY_CLIENT_ID
Client properties.
Definition: src/pipewire/keys.h:131
struct spa_list link
link in protocol server_list
Definition: protocol.h:78
struct result_device_params_data data
Definition: impl-device.c:76
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: audio/raw.h:290
#define MAX_CLIENTS
Definition: module-protocol-simple.c:66
uint32_t type
Definition: module-protocol-simple.c:132
#define PW_ID_ANY
Definition: core.h:69
struct spa_hook link_listener
Definition: module-link-factory.c:70
DBusConnection * bus
Definition: module-portal.c:89
@ SPA_AUDIO_CHANNEL_FR
front right
Definition: audio/raw.h:175
struct pw_proxy * pw_core_spa_node_export(struct pw_core *core, const char *type, const struct spa_dict *props, void *object, size_t user_data_size)
#define PW_KEY_SEC_GID
client gid, set by protocol
Definition: src/pipewire/keys.h:57
#define PW_KEY_MODULE_VERSION
a version string for the module.
Definition: src/pipewire/keys.h:256
unsigned long output[MAX_PORTS]
Definition: module-filter-chain.c:134
struct spa_hook resource_listener
Definition: module-link-factory.c:73
uint32_t size
size of valid data.
Definition: buffer/buffer.h:61
#define spa_dbus_connection_get(c)
Definition: dbus.h:112
#define DEFAULT_RT_TIME_SOFT
Definition: module-rt.c:52
Definition: impl-factory.h:62
void * hndl
Definition: module-filter-chain.c:194
#define FACTORY_USAGE
Definition: module-adapter.c:45
#define MAX_BUFSIZE_MS
Definition: module-echo-cancel.c:115
#define DEFAULT_INTERVAL
Definition: module-profiler.c:53
#define PW_KEY_OBJECT_REGISTER
If the object should be registered.
Definition: src/pipewire/keys.h:69
struct pw_core * core
Definition: module-roc-source.c:99
#define PW_KEY_DEVICE_ICON_NAME
an XDG icon name for the device.
Definition: src/pipewire/keys.h:240
struct pw_protocol_client this
Definition: module-protocol-native.c:104
void spa_ringbuffer_write_update(struct spa_ringbuffer *rbuf, int32_t index)
Update the write pointer to index.
Definition: ringbuffer.h:169
struct spa_hook core_proxy_listener
Definition: module-roc-sink.c:97
pa_context * pa_context
Definition: module-pulse-tunnel.c:113
struct spa_source * source
Definition: module-protocol-native.c:107
struct port notify_port[MAX_PORTS]
Definition: module-filter-chain.c:167
struct pw_impl_factory * this
Definition: module-adapter.c:56
void spa_ringbuffer_read_update(struct spa_ringbuffer *rbuf, int32_t index)
Update the read pointer to index.
Definition: ringbuffer.h:119
struct spa_hook capture_listener
Definition: module-echo-cancel.c:148
const char * spa_debug_type_short_name(const char *name)
Definition: types.h:60
uint32_t n_clients
Definition: module-protocol-simple.c:137
void pw_resource_error(struct pw_resource *resource, int res, const char *error)
Generate an error for a resource.
Definition: resource.c:255
struct pw_work_queue * work
Definition: module-roc-sink.c:90
#define MODULE_USAGE
Definition: module-access.c:127
#define PW_PERM_X
methods can be called on the object.
Definition: permission.h:49
char path[PATH_MAX]
Definition: module-filter-chain.c:115
struct pw_proxy * pw_core_node_export(struct pw_core *core, const char *type, const struct spa_dict *props, void *object, size_t user_data_size)
struct spa_dbus_connection * spa_dbus_get_connection(struct spa_dbus *dbus, enum spa_dbus_type type)
Definition: dbus.h:137
#define pw_log_warn(...)
Definition: src/pipewire/log.h:87
int session_factory_init(struct pw_impl_module *module)
struct spa_hook capture_listener
Definition: module-roc-sink.c:100
const char * name
name of the module
Definition: module.h:45
Definition: module-protocol-native.c:126
uint64_t change_mask
bitfield of changed fields since last call
Definition: module.h:50
#define SPA_POD_String(val)
Definition: vararg.h:81
const struct pw_factory_info * pw_impl_factory_get_info(struct pw_impl_factory *factory)
Get the factory info.
Definition: impl-factory.c:232
struct spa_fraction rate
rate for position/duration/delay
Definition: io.h:140
struct spa_data * datas
array of data members
Definition: buffer/buffer.h:97
struct pw_resource * pw_impl_client_get_core_resource(struct pw_impl_client *client)
Get the client core resource.
Definition: impl-client.c:534
struct spa_buffer * buffer
the spa buffer
Definition: stream.h:176
Data for a buffer this stays constant for a buffer.
Definition: buffer/buffer.h:70
struct pw_properties * properties
Definition: module-access.c:141
uint32_t type
Definition: policy-node.c:116
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-profiler.c:353
struct pw_impl_metadata * impl
Definition: impl-metadata.c:253
struct spa_source * source
Definition: module-protocol-native.c:134
const char * type
Definition: module-zeroconf-discover.c:90
struct pw_core * core
Definition: module-roc-sink.c:95
struct pw_context * module_context
Definition: module-roc-sink.c:93
uint32_t n_notify
Definition: module-filter-chain.c:132
#define SPA_JSON_SAVE(iter)
Definition: json.h:70
@ SPA_AUDIO_FORMAT_F64
Definition: audio/raw.h:118
struct pw_control this
Definition: control.c:34
#define PW_KEY_OBJECT_LINGER
the object lives on even after the client that created it has been destroyed
Definition: src/pipewire/keys.h:67
#define SERVICE_TYPE_SINK
Definition: module-zeroconf-discover.c:63
unsigned int unloading
Definition: module-echo-cancel.c:179
int spa_json_enter_array(struct spa_json *iter, struct spa_json *sub)
Definition: json.h:224
struct pw_properties * pw_properties_copy(const struct pw_properties *properties)
Copy a properties object.
Definition: properties.c:222
struct pw_properties * playback_props
Definition: module-roc-source.c:105
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-example-source.c:383
struct pw_context * pw_impl_node_get_context(struct pw_impl_node *node)
Get the context of this node.
Definition: impl-node.c:1243
Definition: module-zeroconf-discover.c:96
#define pw_loop_invoke(l,...)
Definition: src/pipewire/loop.h:63
#define PW_KEY_ACCESS
how the client access is controlled
Definition: src/pipewire/keys.h:48
struct spa_list link
Definition: pipewire.c:60
int remote_repair_port
Definition: module-roc-sink.c:115
struct pw_core * core
Definition: module-protocol-simple.c:107
int64_t delay
delay between position and hardware, positive for capture, negative for playback
Definition: io.h:143
bool linger
Definition: module-link-factory.c:80
struct spa_hook adapter_listener
Definition: module-adapter.c:70
int client_endpoint_factory_init(struct pw_impl_module *module)
unsigned int need_flush
Definition: module-protocol-native.c:116
void pw_proxy_add_listener(struct pw_proxy *proxy, struct spa_hook *listener, const struct pw_proxy_events *events, void *data)
Add an event listener to proxy.
Definition: proxy.c:195
Definition: protocol.h:90
void pw_impl_client_destroy(struct pw_impl_client *client)
Destroy a previously created client.
Definition: impl-client.c:577
char * local_ip
Definition: module-roc-source.c:117
#define RLIMIT_RTTIME
Definition: module-rtkit.c:135
void spa_hook_remove(struct spa_hook *hook)
Remove a hook.
Definition: hook.h:336
void * pw_resource_get_user_data(struct pw_resource *resource)
Get the user data for the resource, the size was given in pw_resource_new.
Definition: resource.c:159
#define PW_KEY_REMOTE_INTENTION
The intention of the remote connection, "generic", "screencast".
Definition: src/pipewire/keys.h:104
uint32_t aec_blocksize
Definition: module-echo-cancel.c:173
@ SPA_DBUS_TYPE_SESSION
The login session bus.
Definition: dbus.h:45
struct spa_hook module_listener
Definition: module-access.c:144
const char * name
Definition: module-link-factory.c:210
#define SPA_POD_Long(val)
Definition: vararg.h:65
#define pw_protocol_client_disconnect(c)
Definition: protocol.h:73
unsigned long p
Definition: module-filter-chain.c:145
char * local_ip
Definition: module-roc-sink.c:112
#define pw_log_info(...)
Definition: src/pipewire/log.h:88
uint32_t version
Definition: module.h:68
unsigned int n_deps
Definition: module-filter-chain.c:172
#define spa_pod_builder_add_struct(b,...)
Definition: builder.h:658
@ SPA_AUDIO_FORMAT_F32
Definition: audio/raw.h:117
struct pw_stream * capture
Definition: module-protocol-simple.c:113
struct pw_resource * bound_resource
Definition: module-adapter.c:72
#define DEFAULT_PORT
Definition: module-protocol-simple.c:57
void pw_impl_node_destroy(struct pw_impl_node *node)
Destroy a node.
Definition: impl-node.c:1707
@ SPA_AUDIO_FORMAT_F32P
Definition: audio/raw.h:89
int pw_impl_node_for_each_port(struct pw_impl_node *node, enum pw_direction direction, int(*callback)(void *data, struct pw_impl_port *port), void *data)
Iterate the ports in the given direction.
Definition: impl-node.c:1784
const struct spa_type_info spa_type_audio_format[]
Definition: param/audio/type-info.h:42
int spa_debug_pod(int indent, const struct spa_type_info *info, const struct spa_pod *pod)
Definition: debug/pod.h:200
void * data
optional data pointer
Definition: buffer/buffer.h:88
#define NAME
Definition: module-client-node.c:42
struct spa_list node_list
Definition: module-filter-chain.c:200
struct pw_resource * resource
Definition: module-link-factory.c:72
#define PW_VERSION_CONTEXT_EVENTS
Definition: context.h:73
struct spa_io_rate_match * rate_match
Definition: module-example-source.c:95
@ SPA_AUDIO_FORMAT_S8
Definition: audio/raw.h:51
struct pw_resource * resource
Definition: impl-core.c:75
pw_link_state
The different link states.
Definition: link.h:58
Definition: pod/pod.h:161
void pw_impl_node_add_listener(struct pw_impl_node *node, struct spa_hook *listener, const struct pw_impl_node_events *events, void *data)
Add an event listener.
Definition: impl-node.c:1692
@ PW_STREAM_STATE_STREAMING
streaming
Definition: stream.h:172
char label[256]
Definition: module-filter-chain.c:125
unsigned int do_disconnect
Definition: module-roc-source.c:107
uint32_t size
Definition: builder.h:65
struct spa_hook conn_listener
Definition: module-protocol-native.c:148
struct spa_ringbuffer play_ring
Definition: module-echo-cancel.c:164
@ SPA_TYPE_OBJECT_PropInfo
Definition: build-12775836/doc/spa/utils/type.h:88
void * out_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:167
@ SPA_PARAM_PropInfo
property information as SPA_TYPE_OBJECT_PropInfo
Definition: param.h:45
int pw_work_queue_cancel(struct pw_work_queue *queue, void *obj, uint32_t id)
Cancel a work item.
Definition: work-queue.c:216
#define PW_KEY_FACTORY_USAGE
the usage of the factory
Definition: src/pipewire/keys.h:261
struct spa_dbus_connection * conn
Definition: module-portal.c:88
void spa_ringbuffer_init(struct spa_ringbuffer *rbuf)
Initialize a spa_ringbuffer with size.
Definition: ringbuffer.h:58
struct spa_ringbuffer out_ring
Definition: module-echo-cancel.c:169
@ SPA_AUDIO_FORMAT_S32
Definition: audio/raw.h:109
#define PW_VERSION_PROTOCOL_IMPLEMENTATION
Definition: protocol.h:104
#define PW_DEFAULT_REMOTE
The default remote name to connect to.
Definition: core.h:63
struct spa_pod value
Definition: pod/pod.h:212
struct spa_loop * loop
wrapped loop
Definition: src/pipewire/loop.h:49
Definition: module-protocol-native.c:139
struct graph_port output[MAX_PORTS]
Definition: module-filter-chain.c:207
unsigned int disconnect
Definition: module-protocol-simple.c:121
void(* info)(void *object, const struct pw_module_info *info)
Notify module info.
Definition: module.h:74
struct pw_protocol_native_connection * connection
Definition: module-protocol-native.c:147
int pw_stream_queue_buffer(struct pw_stream *stream, struct pw_buffer *buffer)
Submit a buffer for playback or recycle a buffer for capture.
Definition: stream.c:2044
uint32_t busy
Definition: module-profiler.c:79
#define MODULE_USAGE
Definition: module-protocol-pulse.c:46
#define pw_protocol_client_connect_fd(c, fd, cl)
Definition: protocol.h:71
Definition: module-protocol-native.c:95
#define MODULE_USAGE
Definition: module-pulse-tunnel.c:59
@ SPA_AUDIO_FORMAT_S16P
Definition: audio/raw.h:85
#define DEFAULT_RATE
Definition: module-example-source.c:57
@ PW_STREAM_FLAG_MAP_BUFFERS
mmap the buffers except DmaBuf
Definition: stream.h:254
struct spa_io_rate_match * play_rate_match
Definition: module-echo-cancel.c:165
uint32_t new_id
Definition: module-adapter.c:74
#define SPA_POD_Id(val)
Definition: vararg.h:56
#define DEFAULT_RATE
Definition: module-protocol-simple.c:61
uint32_t n_input
Definition: module-filter-chain.c:203
Extra supporting infrastructure passed to the init() function of a factory.
Definition: plugin.h:89
struct pw_protocol * pw_protocol_new(struct pw_context *context, const char *name, size_t user_data_size)
Definition: protocol.c:48
uint64_t next_nsec
estimated next wakeup time in nanoseconds
Definition: io.h:146
struct node * node
Definition: module-filter-chain.c:142
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_module_events *events, void *data)
Definition: module.h:85
AvahiServiceBrowser * sink_browser
Definition: module-zeroconf-discover.c:78
#define DEFAULT_IDLE
Definition: module-profiler.c:52
struct pw_stream * source
Definition: module-echo-cancel.c:150
uint32_t pw_global_get_id(struct pw_global *global)
Get the unique id of the global.
Definition: global.c:224
int fd_lock
Definition: module-protocol-native.c:129
#define SPA_UNLIKELY(x)
Definition: defs.h:235
struct spa_list l
Definition: module-link-factory.c:68
struct pw_properties * pw_properties_new(const char *key,...) 1
Make a new properties object.
Definition: properties.c:98
#define pw_loop_update_io(l,...)
Definition: src/pipewire/loop.h:72
int pw_protocol_native_ext_session_manager_init(struct pw_context *context)
uint64_t nsec
time in nanoseconds against monotonic clock
Definition: io.h:139
Resource events.
Definition: resource.h:60
#define PW_KEY_MODULE_USAGE
a human readable usage description of the module's arguments.
Definition: src/pipewire/keys.h:254
struct spa_hook capture_listener
Definition: module-protocol-simple.c:114
#define pw_core_add_listener(c,...)
Definition: core.h:325
struct pw_properties * props
Definition: module-roc-sink.c:92
uint32_t n_client_methods
number of client methods
Definition: protocol.h:95
int pw_properties_setf(struct pw_properties *properties, const char *key, const char *format,...) 1(3
struct pw_stream * stream
Definition: module-example-sink.c:93
struct port * control_port[MAX_CONTROLS]
Definition: module-filter-chain.c:213
struct pw_context * pw_impl_module_get_context(struct pw_impl_module *module)
Get the context of a module.
Definition: impl-module.c:323
const char * id
Definition: media-session.c:111
struct protocol_compat_v2 compat_v2
Definition: module-protocol-native.c:153
#define RLIMIT_RTTIME
Definition: module-rt.c:62
#define RTKIT_OBJECT_PATH
Definition: module-rtkit.c:132
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-link-factory.c:501
struct pw_protocol_pulse * pulse
Definition: module-protocol-pulse.c:60
struct pw_resource * pw_impl_client_find_resource(struct pw_impl_client *client, uint32_t id)
Get a resource with the given id.
Definition: impl-client.c:540
const struct echo_cancel_info * aec_info
Definition: module-echo-cancel.c:171
struct pw_impl_module * module
Definition: module-roc-source.c:93
int pw_impl_factory_update_properties(struct pw_impl_factory *factory, const struct spa_dict *dict)
Update the factory properties.
Definition: impl-factory.c:153
#define PW_KEY_SEC_PID
Various keys related to the identity of a client process and its security.
Definition: src/pipewire/keys.h:55
Module methods.
Definition: module.h:81
struct impl * impl
Definition: module-profiler.c:93
struct spa_list link
link in impl client_list
Definition: module-protocol-simple.c:103
struct pw_protocol * pw_protocol_native_ext_client_node0_init(struct pw_context *context)
int(* steal_fd)(struct pw_protocol_client *client)
Definition: protocol.h:64
void pw_impl_client_add_listener(struct pw_impl_client *client, struct spa_hook *listener, const struct pw_impl_client_events *events, void *data)
listen to events from this client
Definition: impl-client.c:613
@ SPA_PROFILER_driverBlock
generic driver info block (Struct( Int : driver_id, String : name, Long : driver prev_signal,...
Definition: profiler.h:63
void * hndl[MAX_HNDL]
Definition: module-filter-chain.c:170
void * rec_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:152
int spa_pod_builder_push_struct(struct spa_pod_builder *builder, struct spa_pod_frame *frame)
Definition: builder.h:414
struct pw_core * core
Definition: module-echo-cancel.c:141
#define SPA_TYPE_INTERFACE_DBus
Definition: dbus.h:39
struct pw_work_queue * work_queue
Definition: module-protocol-simple.c:93
#define PW_KEY_PORT_ALIAS
port alias
Definition: src/pipewire/keys.h:187
void * pw_impl_link_get_user_data(struct pw_impl_link *link)
Get the user_data of a link, the size of the memory is given when constructing the link.
Definition: impl-link.c:1377
struct pw_context * context
Definition: filter.c:76
#define MAX_HNDL
Definition: module-filter-chain.c:106
void *(* create_object)(void *data, struct pw_resource *resource, const char *type, uint32_t version, struct pw_properties *properties, uint32_t new_id)
The function to create an object from this factory.
Definition: impl-factory.h:67
const char * filename
filename of the module
Definition: module.h:46
struct pw_export_type export_spadevice
Definition: module-client-device.c:61
#define MODULE_USAGE
Definition: module-protocol-simple.c:68
#define DEFAULT_RT_PRIO
Definition: module-rtkit.c:52
Definition: pipewire.c:80
struct server * server
Definition: module-protocol-native.c:144
int(* connect)(struct pw_protocol_client *client, const struct spa_dict *props, void(*done_callback)(void *data, int result), void *data)
Definition: protocol.h:59
Definition: properties.h:49
uint32_t frame_size
Definition: module-example-sink.c:96
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-client-device.c:164
#define PW_VERSION_IMPL_CLIENT_EVENTS
Definition: impl-client.h:89
void pw_properties_free(struct pw_properties *properties)
Free a properties object.
Definition: properties.c:364
uint32_t id
Definition: alsa-monitor.c:72
#define PW_KEY_CLIENT_ACCESS
how the client wants to be access controlled
Definition: src/pipewire/keys.h:49
int endpoint_stream_factory_init(struct pw_impl_module *module)
AvahiClient * client
Definition: module-zeroconf-discover.c:77
#define strndupa(s, n)
Definition: src/pipewire/utils.h:67
#define PW_TYPE_INTERFACE_Port
Definition: port.h:50
Core events.
Definition: core.h:114
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-portal.c:302
#define SPA_KEY_FACTORY_NAME
the name of a factory
Definition: plugin.h:211
#define pw_log_error(...)
Definition: src/pipewire/log.h:86
unsigned int do_disconnect
Definition: module-echo-cancel.c:178
struct pw_global * pw_impl_client_get_global(struct pw_impl_client *client)
Get the global associated with this client.
Definition: impl-client.c:546
int pw_impl_module_update_properties(struct pw_impl_module *module, const struct spa_dict *dict)
Update the module properties.
Definition: impl-module.c:341
struct spa_list input_link
Definition: module-filter-chain.c:179
Events for a stream.
Definition: stream.h:211
#define spa_list_append(list, item)
Definition: list.h:81
uint32_t idx
Definition: module-filter-chain.c:144
@ PW_STREAM_STATE_ERROR
the stream is in error
Definition: stream.h:168
const struct pw_properties * pw_impl_client_get_properties(struct pw_impl_client *client)
Get the client properties.
Definition: impl-client.c:552
uint32_t out_ringsize
Definition: module-echo-cancel.c:168
struct spa_list link
Definition: module-adapter.c:67