PipeWire  0.3.38
module.h
Go to the documentation of this file.
1 /* PipeWire
2  *
3  * Copyright © 2018 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_MODULE_H
26 #define PIPEWIRE_MODULE_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #include <spa/utils/defs.h>
33 #include <spa/utils/hook.h>
34 
35 #include <pipewire/proxy.h>
36 
37 #define PW_TYPE_INTERFACE_Module PW_TYPE_INFO_INTERFACE_BASE "Module"
38 
39 #define PW_VERSION_MODULE 3
40 struct pw_module;
41 
44  uint32_t id;
45  const char *name;
46  const char *filename;
47  const char *args;
48 #define PW_MODULE_CHANGE_MASK_PROPS (1 << 0)
49 #define PW_MODULE_CHANGE_MASK_ALL ((1 << 1)-1)
50  uint64_t change_mask;
51  struct spa_dict *props;
52 };
53 
55 struct pw_module_info *
57  const struct pw_module_info *update);
59 struct pw_module_info *
61  const struct pw_module_info *update, bool reset);
63 void pw_module_info_free(struct pw_module_info *info);
64 
65 #define PW_MODULE_EVENT_INFO 0
66 #define PW_MODULE_EVENT_NUM 1
67 
70 #define PW_VERSION_MODULE_EVENTS 0
71  uint32_t version;
77  void (*info) (void *object, const struct pw_module_info *info);
78 };
79 
80 #define PW_MODULE_METHOD_ADD_LISTENER 0
81 #define PW_MODULE_METHOD_NUM 1
82 
85 #define PW_VERSION_MODULE_METHODS 0
86  uint32_t version;
87 
88  int (*add_listener) (void *object,
89  struct spa_hook *listener,
90  const struct pw_module_events *events,
91  void *data);
92 };
93 
94 #define pw_module_method(o,method,version,...) \
95 ({ \
96  int _res = -ENOTSUP; \
97  spa_interface_call_res((struct spa_interface*)o, \
98  struct pw_module_methods, _res, \
99  method, version, ##__VA_ARGS__); \
100  _res; \
101 })
102 
103 #define pw_module_add_listener(c,...) pw_module_method(c,add_listener,0,__VA_ARGS__)
104 
105 #ifdef __cplusplus
106 } /* extern "C" */
107 #endif
108 
109 #endif /* PIPEWIRE_MODULE_H */
pw_context_create_factory
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:39
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
pw_context_create_client
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:387
spa_pod_builder_set_callbacks
void spa_pod_builder_set_callbacks(struct spa_pod_builder *builder, const struct spa_pod_builder_callbacks *callbacks, void *data)
Definition: builder.h:80
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
SPA_MAX
#define SPA_MAX(a, b)
Definition: defs.h:134
pw_stream_events::param_changed
void(* param_changed)(void *data, uint32_t id, const struct spa_pod *param)
when a parameter changed
Definition: stream.h:226
impl::stream_listener
struct spa_hook stream_listener
Definition: module-example-sink.c:97
client::impl
struct impl * impl
Definition: module-protocol-simple.c:107
pw_context_get_main_loop
struct pw_loop * pw_context_get_main_loop(struct pw_context *context)
get the context main loop
Definition: context.c:619
module_roc_source_data::context
roc_context * context
Definition: module-roc-source.c:122
SPA_POD_Float
#define SPA_POD_Float(val)
Definition: vararg.h:71
port::n_links
uint32_t n_links
Definition: module-filter-chain.c:155
PW_DIRECTION_INPUT
#define PW_DIRECTION_INPUT
Definition: port.h:57
pw_impl_client_update_properties
int pw_impl_client_update_properties(struct pw_impl_client *client, const struct spa_dict *dict)
Update the client properties.
Definition: impl-client.c:639
DEFAULT_NICE_LEVEL
#define DEFAULT_NICE_LEVEL
Definition: module-rtkit.c:56
PW_LOG_TOPIC
PW_LOG_TOPIC(mod_topic, "mod." NAME)
module_roc_source_data::core_listener
struct spa_hook core_listener
Definition: module-roc-source.c:109
spa_source::mask
uint32_t mask
Definition: obj-x86_64-linux-gnu/doc/spa/support/loop.h:63
pw_properties_get
int int const char * pw_properties_get(const struct pw_properties *properties, const char *key)
Get a property.
Definition: properties.c:487
impl::latency_msec
uint32_t latency_msec
Definition: module-pulse-tunnel.c:105
impl::capture_info
struct spa_audio_info_raw capture_info
Definition: module-filter-chain.c:240
spa_pod_parser_push_struct
int spa_pod_parser_push_struct(struct spa_pod_parser *parser, struct spa_pod_frame *frame)
Definition: parser.h:253
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-pulse-tunnel.c:731
spa_data::maxsize
uint32_t maxsize
max size of data
Definition: buffer/buffer.h:87
spa_audio_info_raw
Audio information description.
Definition: audio/raw.h:288
pw_properties::flags
uint32_t flags
extra flags
Definition: properties.h:51
SPA_PROP_START_CUSTOM
@ SPA_PROP_START_CUSTOM
Definition: props.h:119
spa_pod_object
Definition: pod/pod.h:175
spa_audio_info_raw::rate
uint32_t rate
Definition: audio/raw.h:291
impl::flush
uint8_t flush[MAX_BUFFER+sizeof(struct spa_pod_struct)]
Definition: module-profiler.c:92
pw_impl_client_get_user_data
void * pw_impl_client_get_user_data(struct pw_impl_client *client)
Get the client user data.
Definition: impl-client.c:559
PW_KEY_REMOTE_NAME
#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
MAX_CONTROLS
#define MAX_CONTROLS
Definition: module-filter-chain.c:112
thread::pid
pid_t pid
Definition: module-rtkit.c:79
module_roc_sink_data
Definition: module-roc-sink.c:97
pw_protocol_native_ext_metadata_init
int pw_protocol_native_ext_metadata_init(struct pw_context *context)
node::control_port
struct port control_port[MAX_PORTS]
Definition: module-filter-chain.c:173
SPA_PROP_INFO_id
@ SPA_PROP_INFO_id
associated id of the property
Definition: props.h:42
PW_KEY_SEC_LABEL
#define PW_KEY_SEC_LABEL
client security label, set by protocol
Definition: src/pipewire/keys.h:58
spa_direction
spa_direction
Definition: defs.h:78
ROC_DEFAULT_IP
#define ROC_DEFAULT_IP
Definition: module-roc-sink.c:93
pw_protocol_client::core
struct pw_core * core
Definition: protocol.h:57
MODULE_USAGE
#define MODULE_USAGE
Definition: module-rt.c:61
SPA_AUDIO_FORMAT_S16_LE
@ SPA_AUDIO_FORMAT_S16_LE
Definition: audio/raw.h:53
pw_export_type
data for registering export functions
Definition: context.h:147
client::server
struct server * server
Definition: module-protocol-simple.c:108
pw_impl_port_get_id
uint32_t pw_impl_port_get_id(struct pw_impl_port *port)
Get the port id.
Definition: impl-port.c:666
RTKIT_SERVICE_NAME
#define RTKIT_SERVICE_NAME
Definition: module-rtkit.c:136
graph_hndl::desc
const struct fc_descriptor * desc
Definition: module-filter-chain.c:200
pw_context_register_export_type
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:1431
server::loop
struct pw_loop * loop
Definition: module-protocol-native.c:137
impl::playback_info
struct spa_audio_info_raw playback_info
Definition: module-filter-chain.c:245
PW_VERSION_NODE
#define PW_VERSION_NODE
Definition: src/pipewire/node.h:52
pw_resource_remove
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:292
node::desc
struct descriptor * desc
Definition: module-filter-chain.c:166
pw_logt_debug
#define pw_logt_debug(t,...)
Definition: src/pipewire/log.h:161
pw_protocol_marshal::n_server_methods
uint32_t n_server_methods
number of server methods
Definition: protocol.h:96
thread::link
struct spa_list link
Definition: module-rtkit.c:77
ringbuffer.h
sm_media_session_add_listener
int sm_media_session_add_listener(struct sm_media_session *sess, struct spa_hook *listener, const struct sm_media_session_events *events, void *data)
Definition: media-session.c:1534
MIN_FLUSH
#define MIN_FLUSH
Definition: module-profiler.c:54
node::config
char * config
Definition: module-filter-chain.c:169
module_roc_source_data::work
struct pw_work_queue * work
Definition: module-roc-source.c:103
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-simple.c:810
SERVICE_TYPE_SOURCE
#define SERVICE_TYPE_SOURCE
Definition: module-zeroconf-discover.c:67
pw_rtkit_bus_get_system
struct pw_rtkit_bus * pw_rtkit_bus_get_system(void)
Definition: module-rtkit.c:149
pw_export_type::type
const char * type
Definition: context.h:149
PW_KEY_AUDIO_FORMAT
#define PW_KEY_AUDIO_FORMAT
an audio format.
Definition: src/pipewire/keys.h:308
endpoint_factory_init
int endpoint_factory_init(struct pw_impl_module *module)
pw_impl_factory_set_implementation
void pw_impl_factory_set_implementation(struct pw_impl_factory *factory, const struct pw_impl_factory_implementation *implementation, void *data)
Definition: impl-factory.c:254
descriptor::n_control
uint32_t n_control
Definition: module-filter-chain.c:138
pw_impl_client_register
int pw_impl_client_register(struct pw_impl_client *client, struct pw_properties *properties)
Finish configuration and register a client.
Definition: impl-client.c:474
metadata
Definition: impl-metadata.c:44
SPA_CHOICE_Range
@ SPA_CHOICE_Range
range: default, min, max
Definition: pod/pod.h:142
spa_pod_parser_get_string
int spa_pod_parser_get_string(struct spa_pod_parser *parser, const char **value)
Definition: parser.h:190
client::disconnecting
unsigned int disconnecting
Definition: module-protocol-native.c:119
SPA_POD_Int
#define SPA_POD_Int(val)
Definition: vararg.h:59
factory_data::work
struct pw_work_queue * work
Definition: module-link-factory.c:66
factory_data::export_spanode
struct pw_export_type export_spanode
Definition: module-client-node.c:68
pw_context_get_support
const struct spa_support * pw_context_get_support(struct pw_context *context, uint32_t *n_support)
Get the context support objects.
Definition: context.c:612
module_roc_sink_data::capture_props
struct pw_properties * capture_props
Definition: module-roc-sink.c:110
spa_zero
#define spa_zero(x)
Definition: defs.h:310
pw_loop_update_timer
#define pw_loop_update_timer(l,...)
Definition: src/pipewire/loop.h:78
graph::n_hndl
uint32_t n_hndl
Definition: module-filter-chain.c:216
pw_global_is_type
bool pw_global_is_type(struct pw_global *global, const char *type)
Check a global type.
Definition: global.c:192
impl::lock
pthread_mutex_t lock
Definition: module-rtkit.c:91
PW_LOG_TOPIC
PW_LOG_TOPIC(mod_topic, "mod." NAME)
SPA_PROP_params
@ SPA_PROP_params
simple control params (Struct( (String : key, Pod : value)*))
Definition: props.h:113
impl::play_buffer
void * play_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:166
control
Definition: stream.c:86
SPA_TYPE_INTERFACE_Device
#define SPA_TYPE_INTERFACE_Device
Definition: obj-x86_64-linux-gnu/doc/spa/monitor/device.h:50
UNIX_PATH_MAX
#define UNIX_PATH_MAX
Definition: module-protocol-native.c:77
SPA_AUDIO_FORMAT_S16_BE
@ SPA_AUDIO_FORMAT_S16_BE
Definition: audio/raw.h:54
module_roc_sink_data::module
struct pw_impl_module * module
Definition: module-roc-sink.c:98
client::connected
unsigned int connected
Definition: module-protocol-native.c:118
module_roc_source_data::local_repair_addr
roc_address local_repair_addr
Definition: module-roc-source.c:121
spa_json_container_len
int spa_json_container_len(struct spa_json *iter, const char *value, int len)
Definition: json.h:200
pw_global_register
int pw_global_register(struct pw_global *global)
Register a global object to the context registry.
Definition: global.c:126
format-utils.h
SPA_POD_OBJECT_FOREACH
#define SPA_POD_OBJECT_FOREACH(obj, iter)
Definition: iter.h:123
pw_impl_factory_get_global
struct pw_global * pw_impl_factory_get_global(struct pw_impl_factory *factory)
Get the global of this factory.
Definition: impl-factory.c:239
spa_json_get_float
int spa_json_get_float(struct spa_json *iter, float *res)
Definition: json.h:247
spa_pod_builder_push_choice
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
pw_context_add_listener
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:603
PW_LOG_TOPIC
PW_LOG_TOPIC(mod_topic, "mod." NAME)
PW_KEY_PORT_NAME
#define PW_KEY_PORT_NAME
port name
Definition: src/pipewire/keys.h:184
node::visited
unsigned int visited
Definition: module-filter-chain.c:180
types.h
pw_impl_node_get_free_port_id
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:1984
pw_impl_client_get_info
const struct pw_client_info * pw_impl_client_get_info(struct pw_impl_client *client)
Get the client information.
Definition: impl-client.c:623
spa_buffer::n_datas
uint32_t n_datas
number of data members
Definition: buffer/buffer.h:95
pw_impl_client_get_context
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:523
NAME
#define NAME
Definition: module-adapter.c:43
pw_buffer
Definition: stream.h:175
find_port::node
struct pw_impl_node * node
Definition: module-link-factory.c:215
DEFAULT_POLICY
#define DEFAULT_POLICY
Definition: module-rt.c:54
spa_pod_builder_float
int spa_pod_builder_float(struct spa_pod_builder *builder, float val)
Definition: builder.h:265
pw_impl_node_initialized
int pw_impl_node_initialized(struct pw_impl_node *node)
Definition: impl-node.c:733
impl::plugin_list
struct spa_list plugin_list
Definition: module-filter-chain.c:235
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-rt.c:250
spa_pod_builder_callbacks
Definition: builder.h:56
module_roc_source_data
Definition: module-roc-source.c:101
client::paused
unsigned int paused
Definition: module-protocol-native.c:121
pw_rtkit_make_realtime
int pw_rtkit_make_realtime(struct pw_rtkit_bus *connection, pid_t thread, int priority)
Definition: module-rtkit.c:327
pw_impl_node_find_port
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:1949
SPA_AUDIO_FORMAT_U8
@ SPA_AUDIO_FORMAT_U8
Definition: audio/raw.h:52
spa_latency_info
Definition: latency-utils.h:37
DEFAULT_FORMAT
#define DEFAULT_FORMAT
Definition: module-example-sink.c:59
impl::pa_mainloop
pa_threaded_mainloop * pa_mainloop
Definition: module-pulse-tunnel.c:118
SPA_DICT_ITEM_INIT
#define SPA_DICT_ITEM_INIT(key, value)
Definition: utils/dict.h:46
server::impl
struct impl * impl
Definition: module-protocol-simple.c:131
dbus.h
spa_json_enter_object
int spa_json_enter_object(struct spa_json *iter, struct spa_json *sub)
Definition: json.h:214
spa_type_info::type
uint32_t type
Definition: obj-x86_64-linux-gnu/doc/spa/utils/type.h:138
PW_KEY_MODULE_ID
#define PW_KEY_MODULE_ID
module properties
Definition: src/pipewire/keys.h:249
descriptor::ref
int ref
Definition: module-filter-chain.c:130
node::name
char name[256]
Definition: module-filter-chain.c:168
plugin::ref
int ref
Definition: pipewire.c:68
spa_type_audio_channel
const struct spa_type_info spa_type_audio_channel[]
Definition: param/audio/type-info.h:162
SPA_POD_Double
#define SPA_POD_Double(val)
Definition: vararg.h:76
resource_data
Definition: impl-core.c:75
pw_proxy_notify
#define pw_proxy_notify(p, type, event, version,...)
Definition: proxy.h:192
pw_protocol_client
Definition: protocol.h:53
PW_LOG_TOPIC_INIT
#define PW_LOG_TOPIC_INIT(var)
Definition: src/pipewire/log.h:136
name
const char * name
Definition: media-session.c:2394
MAX_BUFFER
#define MAX_BUFFER
Definition: module-profiler.c:53
factory_data::module
struct pw_impl_module * module
Definition: module-adapter.c:64
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-rtkit.c:675
pw_core_events::error
void(* error)(void *object, uint32_t id, int seq, int res, const char *message)
Fatal error event.
Definition: core.h:164
string.h
LOCK_SUFFIX
#define LOCK_SUFFIX
Definition: module-protocol-native.c:93
client::cleanup
unsigned int cleanup
Definition: module-protocol-simple.c:126
spa_ringbuffer_read_data
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
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
PW_KEY_CLIENT_API
#define PW_KEY_CLIENT_API
the client api used to access PipeWire
Definition: src/pipewire/keys.h:133
spa_latency_parse
int spa_latency_parse(const struct spa_pod *latency, struct spa_latency_info *info)
Definition: latency-utils.h:83
node::link
struct spa_list link
link in impl node_list
Definition: module-filter-chain.c:163
DEFAULT_CHANNELS
#define DEFAULT_CHANNELS
Definition: module-protocol-simple.c:65
TMP_BUFFER
#define TMP_BUFFER
Definition: module-profiler.c:52
impl::stream_props
struct pw_properties * stream_props
Definition: module-example-sink.c:95
DEFAULT_CHANNELS
#define DEFAULT_CHANNELS
Definition: module-example-sink.c:61
pw_stream_state
pw_stream_state
Definition: stream.h:167
find_node::name
const char * name
Definition: module-link-factory.c:303
PW_STREAM_FLAG_RT_PROCESS
@ PW_STREAM_FLAG_RT_PROCESS
call process from the realtime thread.
Definition: stream.h:256
PW_LOG_TOPIC
PW_LOG_TOPIC(mod_topic, "mod." NAME)
SPA_PARAM_Latency
@ SPA_PARAM_Latency
latency reporting, a SPA_TYPE_OBJECT_ParamLatency
Definition: param.h:59
data
user data to add to an object
Definition: filter.c:75
pw_context_load_module
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:160
pw_resource_errorf_id
void void pw_resource_errorf_id(struct pw_resource *resource, uint32_t id, int res, const char *error,...) 1(4
pw_global_new
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:67
impl::data
uint8_t data[MAX_BUFFER]
Definition: module-profiler.c:90
pw_global_add_resource
int pw_global_add_resource(struct pw_global *global, struct pw_resource *resource)
Add a resource to a global.
Definition: global.c:231
SPA_DICT_INIT_ARRAY
#define SPA_DICT_INIT_ARRAY(items)
Definition: utils/dict.h:56
tunnel_info::interface
AvahiIfIndex interface
Definition: module-zeroconf-discover.c:90
NAME
#define NAME
Definition: module-client-device.c:41
module_roc_source_data::receiver
roc_receiver * receiver
Definition: module-roc-source.c:123
spa_streq
bool spa_streq(const char *s1, const char *s2)
Definition: string.h:50
spa_pod_prop
Definition: pod/pod.h:199
pw_protocol_destroy
void pw_protocol_destroy(struct pw_protocol *protocol)
Definition: protocol.c:104
PW_KEY_OBJECT_PATH
#define PW_KEY_OBJECT_PATH
object properties
Definition: src/pipewire/keys.h:65
find_node::id
uint32_t id
Definition: module-link-factory.c:302
resource_data::resource_listener
struct spa_hook resource_listener
Definition: impl-core.c:77
spa_list_for_each
#define spa_list_for_each(pos, head, member)
Definition: list.h:111
impl::cond
pthread_cond_t cond
Definition: module-rtkit.c:92
NAME
#define NAME
Definition: module-portal.c:82
pw_module_info::args
const char * args
arguments passed to the module
Definition: module.h:47
node_data::resource_listener
struct spa_hook resource_listener
Definition: module-adapter.c:76
plugin::type
char type[64]
Definition: module-filter-chain.c:121
pw_impl_module_events
Module events added with pw_impl_module_add_listener.
Definition: impl-module.h:63
module_roc_sink_data::remote_source_port
int remote_source_port
Definition: module-roc-sink.c:123
pw_resource_get_permissions
uint32_t pw_resource_get_permissions(struct pw_resource *resource)
Get the permissions of this resource.
Definition: resource.c:140
pw_core_metadata_export
struct pw_proxy * pw_core_metadata_export(struct pw_core *core, const char *type, const struct spa_dict *props, void *object, size_t user_data_size)
client_session_factory_init
int client_session_factory_init(struct pw_impl_module *module)
pw_context_create_port
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:446
pw_impl_factory_get_user_data
void * pw_impl_factory_get_user_data(struct pw_impl_factory *factory)
Definition: impl-factory.c:227
spa_pod_builder_add
int spa_pod_builder_add(struct spa_pod_builder *builder,...)
Definition: builder.h:638
impl::playback
struct pw_stream * playback
Definition: module-echo-cancel.c:161
impl::rt_prio
int rt_prio
Definition: module-rt.c:83
pw_proxy_events::destroy
void(* destroy)(void *data)
The proxy is destroyed.
Definition: proxy.h:116
spa_atou32
bool spa_atou32(const char *str, uint32_t *val, int base)
Convert str to an uint32_t with the given base and store the result in val.
Definition: string.h:137
impl::rt_time_soft
rlim_t rt_time_soft
Definition: module-rt.c:84
pw_loop
Definition: src/pipewire/loop.h:47
spa_chunk::stride
int32_t stride
stride of valid data
Definition: buffer/buffer.h:63
spa_format_audio_raw_build
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:103
SPA_EXPORT
#define SPA_EXPORT
Definition: defs.h:215
NAME
#define NAME
Definition: module-roc-sink.c:88
spa_cpu
Definition: cpu.h:52
SPA_DIRECTION_INPUT
@ SPA_DIRECTION_INPUT
Definition: defs.h:79
thread
Definition: module-rtkit.c:75
find_port
Definition: module-link-factory.c:211
pw_global_events
Global events, use pw_global_add_listener.
Definition: global.h:68
client::conn_listener
struct spa_hook conn_listener
Definition: module-protocol-native.c:114
impl::seq
int seq
Definition: policy-ep.c:68
impl::portal_pid_pending
DBusPendingCall * portal_pid_pending
Definition: module-portal.c:97
NAME
#define NAME
Definition: module-example-source.c:54
module.h
pw_log_trace
#define pw_log_trace(...)
Definition: src/pipewire/log.h:156
SPA_PROFILER_clock
@ SPA_PROFILER_clock
clock information (Struct( Int : clock flags, Int : clock id, String: clock name, Long : clock nsec,...
Definition: profiler.h:51
pw_impl_port_get_info
const struct pw_port_info * pw_impl_port_get_info(struct pw_impl_port *port)
Get the port info.
Definition: impl-port.c:707
port::audio_data
float * audio_data[MAX_HNDL]
Definition: module-filter-chain.c:159
LOCK_SUFFIXLEN
#define LOCK_SUFFIXLEN
Definition: module-protocol-native.c:94
SPA_ROUND_UP_N
#define SPA_ROUND_UP_N(num, align)
Definition: defs.h:230
spa_list_last
#define spa_list_last(head, type, member)
Definition: list.h:78
module_roc_source_data::playback
struct pw_stream * playback
Definition: module-roc-source.c:112
spa_io_clock::flags
uint32_t flags
clock flags
Definition: io.h:134
SPA_FLAG_UPDATE
#define SPA_FLAG_UPDATE(field, flag, val)
Definition: defs.h:76
impl::rec_rate_match
struct spa_io_rate_match * rec_rate_match
Definition: module-echo-cancel.c:159
impl::capture_ready
unsigned int capture_ready
Definition: module-echo-cancel.c:179
spa_source::fd
int fd
Definition: obj-x86_64-linux-gnu/doc/spa/support/loop.h:62
device
Definition: alsa-monitor.c:149
node
Definition: module-filter-chain.c:162
NAME
#define NAME
Definition: module-rtkit.c:51
client_data::client
struct pw_impl_client * client
Definition: module-protocol-native.c:144
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-echo-cancel.c:818
thread::arg
void * arg
Definition: module-rtkit.c:81
PW_VERSION_STREAM_EVENTS
#define PW_VERSION_STREAM_EVENTS
Definition: stream.h:212
DEFAULT_NICE_LEVEL
#define DEFAULT_NICE_LEVEL
Definition: module-rt.c:56
pw_get_user_name
const char * pw_get_user_name(void)
Get the user name.
Definition: pipewire.c:775
impl::playback_listener
struct spa_hook playback_listener
Definition: module-echo-cancel.c:162
descriptor::input
unsigned long input[MAX_PORTS]
Definition: module-filter-chain.c:140
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-roc-sink.c:383
impl
Definition: control.c:33
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-session-manager.c:53
PW_KEY_DEVICE_PRODUCT_NAME
#define PW_KEY_DEVICE_PRODUCT_NAME
product name if applicable
Definition: src/pipewire/keys.h:227
tunnel::link
struct spa_list link
Definition: module-zeroconf-discover.c:100
impl::source_browser
AvahiServiceBrowser * source_browser
Definition: module-zeroconf-discover.c:82
spa_io_position
The position information adds extra meaning to the raw clock times.
Definition: io.h:271
pw_factory_info::id
uint32_t id
id of the global
Definition: factory.h:47
impl::listening
unsigned int listening
Definition: module-profiler.c:86
tunnel_info::domain
const char * domain
Definition: module-zeroconf-discover.c:94
spa_dbus
Definition: dbus.h:42
spa_thread_utils
Definition: obj-x86_64-linux-gnu/doc/spa/support/thread.h:52
server::lock_addr
char lock_addr[UNIX_PATH_MAX+LOCK_SUFFIXLEN]
Definition: module-protocol-native.c:135
protocol_data::module
struct pw_impl_module * module
Definition: module-protocol-native.c:100
NAME
#define NAME
Definition: module-access.c:125
graph::n_output
uint32_t n_output
Definition: module-filter-chain.c:213
pw_proxy_destroy
void pw_proxy_destroy(struct pw_proxy *proxy)
destroy a proxy
Definition: proxy.c:231
strdupa
#define strdupa(s)
Definition: src/pipewire/utils.h:79
DEFAULT_CHANNELS
#define DEFAULT_CHANNELS
Definition: module-example-source.c:61
plugin::descriptor_list
struct spa_list descriptor_list
Definition: module-filter-chain.c:125
impl::props
struct pw_properties * props
Definition: module-example-sink.c:84
SPA_PROFILER_followerBlock
@ SPA_PROFILER_followerBlock
generic follower info block (Struct( Int : id, String : name, Long : prev_signal, Long : signal,...
Definition: profiler.h:75
pw_impl_core_get_global
struct pw_global * pw_impl_core_get_global(struct pw_impl_core *core)
Get the global of this core.
Definition: impl-core.c:667
pw_protocol_native_ext_client_device_init
struct pw_protocol * pw_protocol_native_ext_client_device_init(struct pw_context *context)
client::id
uint32_t id
Definition: access-flatpak.c:73
protocol_data::protocol
struct pw_protocol * protocol
Definition: module-protocol-native.c:102
PW_KEY_MEDIA_NAME
#define PW_KEY_MEDIA_NAME
media name.
Definition: src/pipewire/keys.h:286
thread.h
pw_proxy_events
Proxy events, use pw_proxy_add_listener.
Definition: proxy.h:111
SERVER_TYPE_INET
#define SERVER_TYPE_INET
Definition: module-protocol-simple.c:135
pw_module_methods::version
uint32_t version
Definition: module.h:86
pw_rtkit_get_max_realtime_priority
int pw_rtkit_get_max_realtime_priority(struct pw_rtkit_bus *connection)
Definition: module-rtkit.c:298
spa_hook_list_append
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:334
PW_KEY_CORE_DAEMON
#define PW_KEY_CORE_DAEMON
If the core is listening for connections.
Definition: src/pipewire/keys.h:86
spa_list
Definition: list.h:37
client::playback
struct pw_stream * playback
Definition: module-protocol-simple.c:119
impl::core_listener
struct spa_hook core_listener
Definition: module-echo-cancel.c:147
PW_KEY_NODE_LINK_GROUP
#define PW_KEY_NODE_LINK_GROUP
the node is internally linked to nodes with the same link-group
Definition: src/pipewire/keys.h:179
module_roc_sink_data::remote_repair_addr
roc_address remote_repair_addr
Definition: module-roc-sink.c:117
spa_pod_builder_push_object
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
pw_context_get_work_queue
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:625
pw_global_get_properties
const struct pw_properties * pw_global_get_properties(struct pw_global *global)
Get the global properties.
Definition: global.c:204
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-client-node.c:155
spa_pod_struct::pod
struct spa_pod pod
Definition: pod/pod.h:162
PW_KEY_AUDIO_CHANNELS
#define PW_KEY_AUDIO_CHANNELS
number of audio channels
Definition: src/pipewire/keys.h:307
SPA_IO_RateMatch
@ SPA_IO_RateMatch
rate matching between nodes, struct spa_io_rate_match
Definition: io.h:60
SERVER_TYPE_UNIX
#define SERVER_TYPE_UNIX
Definition: module-protocol-simple.c:134
pw_module_info::id
uint32_t id
id of the global
Definition: module.h:44
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
SPA_PTROFF
#define SPA_PTROFF(ptr_, offset_, type_)
Return the address (buffer + offset) as pointer of type.
Definition: defs.h:164
module_roc_sink_data::do_disconnect
unsigned int do_disconnect
Definition: module-roc-sink.c:112
port::node
struct spa_node * node
Definition: buffers.c:45
module_roc_source_data::core_proxy_listener
struct spa_hook core_proxy_listener
Definition: module-roc-source.c:110
impl::portal_pid
pid_t portal_pid
Definition: module-portal.c:98
impl::sink_ready
unsigned int sink_ready
Definition: module-echo-cancel.c:180
tunnel::module
struct pw_impl_module * module
Definition: module-zeroconf-discover.c:102
graph
Definition: module-filter-chain.c:204
module_roc_source_data::playback_listener
struct spa_hook playback_listener
Definition: module-roc-source.c:113
spa_thread_utils_methods
thread utils
Definition: obj-x86_64-linux-gnu/doc/spa/support/thread.h:55
pw_impl_client_events
The events that a client can emit.
Definition: impl-client.h:88
SPA_DICT_INIT
#define SPA_DICT_INIT(items, n_items)
Definition: utils/dict.h:55
client::core_proxy_listener
struct spa_hook core_proxy_listener
Definition: module-protocol-simple.c:111
module_roc_source_data::sess_latency_msec
int sess_latency_msec
Definition: module-roc-source.c:129
spa_strstartswith
bool spa_strstartswith(const char *s, const char *prefix)
Definition: string.h:71
pw_core_spa_device_export
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)
spa_audio_info_raw::format
enum spa_audio_format format
Definition: audio/raw.h:289
NAME
#define NAME
Definition: module-metadata.c:40
DEFAULT_SERVER
#define DEFAULT_SERVER
Definition: module-protocol-simple.c:61
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-native.c:1299
NAME
#define NAME
Definition: module-protocol-native.c:62
client_data::protocol_link
struct spa_list protocol_link
Definition: module-protocol-native.c:147
module_roc_sink_data::local_addr
roc_address local_addr
Definition: module-roc-sink.c:115
pw_permission
Definition: permission.h:64
impl::id
uint32_t id
Definition: module-echo-cancel.c:143
PW_STREAM_FLAG_AUTOCONNECT
@ PW_STREAM_FLAG_AUTOCONNECT
try to automatically connect this stream
Definition: stream.h:249
PW_TYPE_INTERFACE_Core
#define PW_TYPE_INTERFACE_Core
Definition: core.h:54
PW_KEY_PROTOCOL
#define PW_KEY_PROTOCOL
protocol used for connection
Definition: src/pipewire/keys.h:47
ROC_DEFAULT_REPAIR_PORT
#define ROC_DEFAULT_REPAIR_PORT
Definition: module-roc-sink.c:95
node_data::linger
unsigned int linger
Definition: module-adapter.c:78
MODE_CAPTURE
#define MODE_CAPTURE
Definition: module-pulse-tunnel.c:92
pw_impl_node_events::version
uint32_t version
Definition: impl-node.h:53
module_roc_source_data::local_source_addr
roc_address local_source_addr
Definition: module-roc-source.c:120
SPA_TYPE_OBJECT_Profiler
@ SPA_TYPE_OBJECT_Profiler
Definition: obj-x86_64-linux-gnu/doc/spa/utils/type.h:97
spa_ringbuffer
A ringbuffer type.
Definition: ringbuffer.h:46
pw_impl_module_add_listener
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:384
array.h
SPA_POD_BUILDER_INIT
#define SPA_POD_BUILDER_INIT(buffer, size)
Definition: builder.h:71
module_roc_sink_data::core_listener
struct spa_hook core_listener
Definition: module-roc-sink.c:105
props
const char * props
Definition: media-session.c:2397
pw_global_get_object
void * pw_global_get_object(struct pw_global *global)
Get the object associated with the global.
Definition: global.c:219
MODULE_USAGE
#define MODULE_USAGE
Definition: module-example-sink.c:64
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-access.c:367
pw_rtkit_get_rttime_usec_max
long long pw_rtkit_get_rttime_usec_max(struct pw_rtkit_bus *connection)
Definition: module-rtkit.c:318
SPA_INTERFACE_INIT
#define SPA_INTERFACE_INIT(_type, _version, _funcs, _data)
Initialize a spa_interface.
Definition: hook.h:168
impl::info
struct spa_audio_info_raw info
Definition: module-echo-cancel.c:149
SPA_PARAM_Props
@ SPA_PARAM_Props
properties as SPA_TYPE_OBJECT_Props
Definition: param.h:46
pw_rtkit_bus_free
void pw_rtkit_bus_free(struct pw_rtkit_bus *system_bus)
Definition: module-rtkit.c:181
SPA_POD_INIT_Struct
#define SPA_POD_INIT_Struct(size)
Definition: builder.h:411
impl::pa_stream
pa_stream * pa_stream
Definition: module-pulse-tunnel.c:120
pod.h
spa_pod_builder::data
void * data
Definition: builder.h:64
graph_port::hndl
void * hndl
Definition: module-filter-chain.c:195
endpoint_link_factory_init
int endpoint_link_factory_init(struct pw_impl_module *module)
impl.h
spa_source
Definition: obj-x86_64-linux-gnu/doc/spa/support/loop.h:58
metadata::metadata
struct pw_metadata * metadata
Definition: metadata.c:44
PW_LOG_TOPIC
PW_LOG_TOPIC(mod_topic, "mod." NAME)
spa_loop
Definition: obj-x86_64-linux-gnu/doc/spa/support/loop.h:44
spa_audio_info_raw::channels
uint32_t channels
Definition: audio/raw.h:292
pw_stream_state_as_string
const char * pw_stream_state_as_string(enum pw_stream_state state)
Convert a stream state to a readable string.
Definition: stream.c:1401
pw_properties::dict
struct spa_dict dict
dictionary of key/values
Definition: properties.h:50
pw_loop_destroy_source
#define pw_loop_destroy_source(l,...)
Definition: src/pipewire/loop.h:80
module_roc_sink_data::context
roc_context * context
Definition: module-roc-sink.c:118
impl::flushing
unsigned int flushing
Definition: module-profiler.c:85
find_port::port
struct pw_impl_port * port
Definition: module-link-factory.c:216
spa_dict_item
Definition: utils/dict.h:41
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
impl::avahi_poll
AvahiPoll * avahi_poll
Definition: module-zeroconf-discover.c:79
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
find_port::direction
enum spa_direction direction
Definition: module-link-factory.c:214
spa_io_clock::rate_diff
double rate_diff
rate difference between clock and monotonic time
Definition: io.h:145
factory_data::context
struct pw_context * context
Definition: module-adapter.c:63
SPA_CONTAINER_OF
#define SPA_CONTAINER_OF(p, t, m)
Definition: defs.h:175
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-filter-chain.c:1642
DEFAULT_POSITION
#define DEFAULT_POSITION
Definition: module-example-sink.c:62
pw_proxy_get_marshal
const struct pw_protocol_marshal * pw_proxy_get_marshal(struct pw_proxy *proxy)
Get the marshal functions for the proxy.
Definition: proxy.c:358
pw_context_connect
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:402
pw_protocol_client::connect_fd
int(* connect_fd)(struct pw_protocol_client *client, int fd, bool close)
Definition: protocol.h:63
SPA_PARAM_Format
@ SPA_PARAM_Format
configured format as SPA_TYPE_OBJECT_Format
Definition: param.h:48
impl::global
struct pw_global * global
Definition: module-profiler.c:79
descriptor::plugin
struct plugin * plugin
Definition: module-filter-chain.c:131
PW_STREAM_STATE_PAUSED
@ PW_STREAM_STATE_PAUSED
paused
Definition: stream.h:171
graph::n_control
uint32_t n_control
Definition: module-filter-chain.c:219
PW_KEY_SEC_UID
#define PW_KEY_SEC_UID
Client uid, set by protocol.
Definition: src/pipewire/keys.h:56
impl::playback_props
struct pw_properties * playback_props
Definition: module-filter-chain.c:242
graph::input
struct graph_port input[MAX_PORTS]
Definition: module-filter-chain.c:211
pw_impl_module_destroy
void pw_impl_module_destroy(struct pw_impl_module *module)
Destroy a module.
Definition: impl-module.c:306
spa_list_consume
#define spa_list_consume(pos, head, member)
Definition: list.h:96
impl-client.h
graph_port
Definition: module-filter-chain.c:193
SPA_TYPE_INTERFACE_Node
#define SPA_TYPE_INTERFACE_Node
Definition: obj-x86_64-linux-gnu/doc/spa/node/node.h:50
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
pw_protocol_server::core
struct pw_impl_core * core
Definition: protocol.h:81
plugin::plugin
struct fc_plugin * plugin
Definition: module-filter-chain.c:124
spa_dbus_connection_destroy
#define spa_dbus_connection_destroy(c)
Definition: dbus.h:113
spa_json_is_container
int spa_json_is_container(const char *val, int len)
Definition: json.h:195
spa_thread_utils::iface
struct spa_interface iface
Definition: obj-x86_64-linux-gnu/doc/spa/support/thread.h:52
DEFAULT_RT_TIME_SOFT
#define DEFAULT_RT_TIME_SOFT
Definition: module-rtkit.c:58
spa_pod_builder_pop
void * spa_pod_builder_pop(struct spa_pod_builder *builder, struct spa_pod_frame *frame)
Definition: builder.h:175
descriptor::desc
const struct fc_descriptor * desc
Definition: module-filter-chain.c:134
client::obj
struct sm_client * obj
Definition: access-flatpak.c:71
pw_context_for_each_global
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:671
impl::tunnel_list
struct spa_list tunnel_list
Definition: module-zeroconf-discover.c:84
port::port
struct pw_port * port
Definition: filter.c:96
impl::count
int64_t count
Definition: module-profiler.c:81
PW_KEY_CORE_NAME
#define PW_KEY_CORE_NAME
The name of the core.
Definition: src/pipewire/keys.h:82
pw_module_info_free
void pw_module_info_free(struct pw_module_info *info)
Free a pw_module_info.
Definition: introspect.c:399
pw_impl_port_get_properties
const struct pw_properties * pw_impl_port_get_properties(struct pw_impl_port *port)
Get the port properties.
Definition: impl-port.c:672
impl::core_proxy_listener
struct spa_hook core_proxy_listener
Definition: module-echo-cancel.c:146
NAME
#define NAME
Definition: module-protocol-pulse.c:44
spa_type_info::name
const char * name
Definition: obj-x86_64-linux-gnu/doc/spa/utils/type.h:140
PW_KEY_LINK_INPUT_NODE
#define PW_KEY_LINK_INPUT_NODE
input node id of a link
Definition: src/pipewire/keys.h:198
spa_pod
Definition: pod/pod.h:50
pw_resource_get_marshal
const struct pw_protocol_marshal * pw_resource_get_marshal(struct pw_resource *resource)
Get the marshal functions for the resource.
Definition: resource.c:190
pw_protocol_client::disconnect
void(* disconnect)(struct pw_protocol_client *client)
Definition: protocol.h:65
PW_KEY_NODE_NICK
#define PW_KEY_NODE_NICK
short node name
Definition: src/pipewire/keys.h:139
SPA_VERSION_POD_BUILDER_CALLBACKS
#define SPA_VERSION_POD_BUILDER_CALLBACKS
Definition: builder.h:57
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 with reset.
Definition: introspect.c:392
PW_KEY_NODE_GROUP
#define PW_KEY_NODE_GROUP
the group id this node is part of.
Definition: src/pipewire/keys.h:146
node_data::resource
struct pw_resource * resource
Definition: module-adapter.c:74
find_node
Definition: module-link-factory.c:301
client::ref
int ref
Definition: module-protocol-native.c:116
pw_impl_node_get_global
struct pw_global * pw_impl_node_get_global(struct pw_impl_node *node)
Get the global of this node.
Definition: impl-node.c:1268
RINGBUFFER_SIZE
#define RINGBUFFER_SIZE
Definition: module-pulse-tunnel.c:83
spa_dbus_connection
Definition: dbus.h:65
spa_io_rate_match
rate matching
Definition: io.h:287
pw_global_add_listener
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:256
spa_chunk::offset
uint32_t offset
offset of valid data.
Definition: buffer/buffer.h:58
MODULE_USAGE
#define MODULE_USAGE
Definition: module-rtkit.c:61
profiler.h
spa_pod_builder_bool
int spa_pod_builder_bool(struct spa_pod_builder *builder, bool val)
Definition: builder.h:233
tunnel_info
Definition: module-zeroconf-discover.c:89
spa_io_clock::id
uint32_t id
unique clock id, set by application
Definition: io.h:135
pw_context_events
context events emitted by the context object added with pw_context_add_listener
Definition: context.h:72
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-roc-source.c:428
pw_protocol_server::client_list
struct spa_list client_list
list of clients of this protocol
Definition: protocol.h:83
pw_protocol_native_init
void pw_protocol_native_init(struct pw_protocol *protocol)
PW_DIRECTION_OUTPUT
#define PW_DIRECTION_OUTPUT
Definition: port.h:58
pw_buffer::size
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
SPA_KEY_AUDIO_POSITION
#define SPA_KEY_AUDIO_POSITION
channel positions as comma separated list of channels ex.
Definition: audio/raw.h:304
pw_context_create_metadata
struct pw_impl_metadata * pw_context_create_metadata(struct pw_context *context, const char *name, struct pw_properties *properties, size_t user_data_size)
Definition: impl-metadata.c:285
descriptor::default_control
float default_control[MAX_PORTS]
Definition: module-filter-chain.c:144
SPA_PROP_INFO_name
@ SPA_PROP_INFO_name
name of the property
Definition: props.h:43
SPA_AUDIO_FORMAT_F32_LE
@ SPA_AUDIO_FORMAT_F32_LE
Definition: audio/raw.h:77
pw_protocol_client::protocol
struct pw_protocol * protocol
the owner protocol
Definition: protocol.h:55
spa_ringbuffer_get_read_index
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
pw_stream_dequeue_buffer
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:2020
spa_ringbuffer_get_write_index
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
factory_data::export_node
struct pw_export_type export_node
Definition: module-client-node.c:67
pw_loop_add_event
#define pw_loop_add_event(l,...)
Definition: src/pipewire/loop.h:75
descriptor::n_output
uint32_t n_output
Definition: module-filter-chain.c:137
spa_list_remove
void spa_list_remove(struct spa_list *elem)
Definition: list.h:69
DEFAULT_RT_TIME_HARD
#define DEFAULT_RT_TIME_HARD
Definition: module-rtkit.c:59
impl::sink_props
struct pw_properties * sink_props
Definition: module-echo-cancel.c:163
PW_KEY_MODULE_AUTHOR
#define PW_KEY_MODULE_AUTHOR
the author's name
Definition: src/pipewire/keys.h:251
TUNNEL_INFO
#define TUNNEL_INFO(...)
Definition: module-zeroconf-discover.c:97
impl::module
struct pw_impl_module * module
Definition: module-echo-cancel.c:139
port
Definition: buffers.c:44
impl::playback
bool playback
Definition: module-protocol-simple.c:99
pw_properties_serialize_dict
int pw_properties_serialize_dict(FILE *f, const struct spa_dict *dict, uint32_t flags)
Definition: properties.c:567
spa_ringbuffer_write_data
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
sm_media_session_export
struct pw_proxy * sm_media_session_export(struct sm_media_session *sess, const char *type, const struct spa_dict *props, void *object, size_t user_data_size)
Definition: media-session.c:1652
pw_global_bind
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:278
MAX_SAMPLES
#define MAX_SAMPLES
Definition: module-filter-chain.c:113
ROC_DEFAULT_SOURCE_PORT
#define ROC_DEFAULT_SOURCE_PORT
Definition: module-roc-source.c:97
tunnel_info::name
const char * name
Definition: module-zeroconf-discover.c:92
SPA_AUDIO_MAX_CHANNELS
#define SPA_AUDIO_MAX_CHANNELS
Definition: audio/raw.h:43
PW_KEY_LINK_INPUT_PORT
#define PW_KEY_LINK_INPUT_PORT
input port id of a link
Definition: src/pipewire/keys.h:199
factory_data
Definition: module-adapter.c:58
PW_KEY_MODULE_DESCRIPTION
#define PW_KEY_MODULE_DESCRIPTION
a human readable one-line description of the module's purpose.
Definition: src/pipewire/keys.h:252
impl::sink_listener
struct spa_hook sink_listener
Definition: module-echo-cancel.c:165
pw_context_find_global
struct pw_global * pw_context_find_global(struct pw_context *context, uint32_t id)
Find a context global by id.
Definition: context.c:688
SPA_AUDIO_FORMAT_UNKNOWN
@ SPA_AUDIO_FORMAT_UNKNOWN
Definition: audio/raw.h:46
pw_protocol_native0_init
void pw_protocol_native0_init(struct pw_protocol *protocol)
server::addr
struct sockaddr_un addr
Definition: module-protocol-native.c:134
spa_debug_mem
int spa_debug_mem(int indent, const void *data, size_t size)
Definition: obj-x86_64-linux-gnu/doc/spa/debug/mem.h:43
spa_pod_from_data
void * spa_pod_from_data(void *data, size_t maxsize, off_t offset, size_t size)
Definition: iter.h:135
PW_TYPE_INTERFACE_Node
#define PW_TYPE_INTERFACE_Node
Definition: src/pipewire/node.h:50
client::connection
struct pw_protocol_native_connection * connection
Definition: module-protocol-native.c:113
impl::context_listener
struct spa_hook context_listener
Definition: module-access.c:146
impl::system_bus
struct pw_rtkit_bus * system_bus
Definition: module-rtkit.c:89
pw_stream_add_listener
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
server::client_list
struct spa_list client_list
Definition: module-protocol-simple.c:140
NAME
#define NAME
Definition: metadata.c:37
impl::source_props
struct pw_properties * source_props
Definition: module-echo-cancel.c:153
pw_proxy_unref
void pw_proxy_unref(struct pw_proxy *proxy)
Definition: proxy.c:292
spa_buffer
A Buffer.
Definition: buffer/buffer.h:93
graph_port::port
uint32_t port
Definition: module-filter-chain.c:196
pw_protocol_client::destroy
void(* destroy)(struct pw_protocol_client *client)
Definition: protocol.h:66
PW_PERM_ALL
#define PW_PERM_ALL
Definition: permission.h:61
port::control_data
float control_data
Definition: module-filter-chain.c:158
spa_latency_build
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
PW_KEY_FACTORY_ID
#define PW_KEY_FACTORY_ID
Factory properties.
Definition: src/pipewire/keys.h:259
impl::ring
struct spa_ringbuffer ring
Definition: module-pulse-tunnel.c:114
plugin
Definition: pipewire.c:62
MODULE_USAGE
#define MODULE_USAGE
Definition: module-zeroconf-discover.c:57
ROC_DEFAULT_IP
#define ROC_DEFAULT_IP
Definition: module-roc-source.c:96
PW_KEY_NODE_DESCRIPTION
#define PW_KEY_NODE_DESCRIPTION
localized human readable node one-line description.
Definition: src/pipewire/keys.h:140
spa_io_rate_match::size
uint32_t size
requested input size for resampler
Definition: io.h:289
NAME
#define NAME
Definition: module-roc-source.c:91
_
#define _(String)
Definition: src/pipewire/i18n.h:37
descriptor
Definition: module-filter-chain.c:128
impl::flush_timeout
struct spa_source * flush_timeout
Definition: module-profiler.c:84
MODE_PLAYBACK
#define MODE_PLAYBACK
Definition: module-pulse-tunnel.c:91
PW_KEY_NODE_PASSIVE
#define PW_KEY_NODE_PASSIVE
indicate that a node wants passive links on output/input/all ports when the value is "out"/"in"/"true...
Definition: src/pipewire/keys.h:176
PW_KEY_NODE_NAME
#define PW_KEY_NODE_NAME
node name
Definition: src/pipewire/keys.h:138
spa_hook
Definition: hook.h:313
pw_thread_utils_set
void pw_thread_utils_set(struct spa_thread_utils *impl)
Definition: thread.c:84
pw_impl_port_is_linked
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:1366
node_data::data
struct factory_data * data
Definition: module-adapter.c:69
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-pulse.c:89
pw_get_host_name
const char * pw_get_host_name(void)
Get the host name.
Definition: pipewire.c:787
pw_core_get_context
struct pw_context * pw_core_get_context(struct pw_core *core)
Get the context object used to created this core.
Definition: core.c:132
PW_VERSION_IMPL_NODE_EVENTS
#define PW_VERSION_IMPL_NODE_EVENTS
Definition: impl-node.h:52
pw_protocol_implementation
Definition: protocol.h:103
impl::nice_level
int nice_level
Definition: module-rtkit.c:97
graph_hndl
Definition: module-filter-chain.c:199
pw_loop_add_io
#define pw_loop_add_io(l,...)
Definition: src/pipewire/loop.h:71
ROC_DEFAULT_SOURCE_PORT
#define ROC_DEFAULT_SOURCE_PORT
Definition: module-roc-sink.c:94
pw_resource_errorf
void pw_resource_errorf(struct pw_resource *resource, int res, const char *error,...) 1(3
SPA_VERSION_THREAD_UTILS_METHODS
#define SPA_VERSION_THREAD_UTILS_METHODS
Definition: obj-x86_64-linux-gnu/doc/spa/support/thread.h:56
pw_permission::permissions
uint32_t permissions
bitmask of above permissions
Definition: permission.h:66
PW_KEY_NODE_LATENCY
#define PW_KEY_NODE_LATENCY
the requested latency of the node as a fraction.
Definition: src/pipewire/keys.h:154
pw_rtkit_get_min_nice_level
int pw_rtkit_get_min_nice_level(struct pw_rtkit_bus *connection, int *min_nice_level)
Definition: module-rtkit.c:307
factory_data::export_metadata
struct pw_export_type export_metadata
Definition: module-metadata.c:66
spa_json_is_null
bool spa_json_is_null(const char *val, int len)
Definition: json.h:230
pw_stream_destroy
void pw_stream_destroy(struct pw_stream *stream)
Destroy a stream.
Definition: stream.c:1419
thread::thread
pthread_t thread
Definition: module-rtkit.c:78
utils.h
PW_VERSION_RESOURCE_EVENTS
#define PW_VERSION_RESOURCE_EVENTS
Definition: resource.h:61
PW_KEY_AUDIO_RATE
#define PW_KEY_AUDIO_RATE
an audio samplerate
Definition: src/pipewire/keys.h:306
PW_STREAM_STATE_UNCONNECTED
@ PW_STREAM_STATE_UNCONNECTED
unconnected
Definition: stream.h:169
spa_io_clock::position
uint64_t position
current position
Definition: io.h:141
module_roc_sink_data::module_listener
struct spa_hook module_listener
Definition: module-roc-sink.c:100
DEFAULT_LATENCY_MSEC
#define DEFAULT_LATENCY_MSEC
Definition: module-pulse-tunnel.c:86
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
pw_core_find_proxy
struct pw_proxy * pw_core_find_proxy(struct pw_core *core, uint32_t id)
Get the proxy with the given id.
Definition: core.c:269
SPA_IO_OUT
#define SPA_IO_OUT
Definition: system.h:56
client::playback_listener
struct spa_hook playback_listener
Definition: module-protocol-simple.c:120
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
descriptor::notify
unsigned long notify[MAX_PORTS]
Definition: module-filter-chain.c:143
SPA_AUDIO_CHANNEL_FL
@ SPA_AUDIO_CHANNEL_FL
front left
Definition: audio/raw.h:177
port::link_list
struct spa_list link_list
Definition: module-filter-chain.c:154
SPA_AUDIO_FORMAT_S24
@ SPA_AUDIO_FORMAT_S24
Definition: audio/raw.h:114
impl::capture
struct pw_stream * capture
Definition: module-echo-cancel.c:151
NAME
#define NAME
Definition: module-filter-chain.c:50
graph::impl
struct impl * impl
Definition: module-filter-chain.c:205
pw_impl_module_get_global
struct pw_global * pw_impl_module_get_global(struct pw_impl_module *module)
Get the global of a module.
Definition: impl-module.c:342
impl::capture
bool capture
Definition: module-protocol-simple.c:98
SPA_AUDIO_FORMAT_S24_BE
@ SPA_AUDIO_FORMAT_S24_BE
Definition: audio/raw.h:66
pw_impl_node_register
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:656
pw_resource_add_listener
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:166
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-adapter.c:315
impl::loop
struct pw_loop * loop
Definition: module-protocol-simple.c:89
SPA_VERSION_THREAD_UTILS
#define SPA_VERSION_THREAD_UTILS
Definition: obj-x86_64-linux-gnu/doc/spa/support/thread.h:51
spa_cpu_get_flags
#define spa_cpu_get_flags(c)
Definition: cpu.h:144
tunnel_info::protocol
AvahiProtocol protocol
Definition: module-zeroconf-discover.c:91
module_roc_sink_data::capture
struct pw_stream * capture
Definition: module-roc-sink.c:108
factory_data::link_list
struct spa_list link_list
Definition: module-link-factory.c:62
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "ms.mod." NAME)
spa_json_init
void spa_json_init(struct spa_json *iter, const char *data, size_t size)
Definition: json.h:59
module_roc_source_data::unloading
unsigned int unloading
Definition: module-roc-source.c:117
module_roc_sink_data::remote_ip
char * remote_ip
Definition: module-roc-sink.c:122
spa_io_clock::name
char name[64]
clock name prefixed with API, set by node.
Definition: io.h:136
start
int(* start)(struct sm_media_session *sess)
Definition: media-session.c:2396
impl::mode
uint32_t mode
Definition: module-pulse-tunnel.c:93
descriptor::n_input
uint32_t n_input
Definition: module-filter-chain.c:136
port::external
uint32_t external
Definition: module-filter-chain.c:156
impl::capture_props
struct pw_properties * capture_props
Definition: module-filter-chain.c:237
node::input_port
struct port input_port[MAX_PORTS]
Definition: module-filter-chain.c:171
pw_impl_factory_register
int pw_impl_factory_register(struct pw_impl_factory *factory, struct pw_properties *properties)
Definition: impl-factory.c:177
pw_impl_node_events
Node events, listen to them with pw_impl_node_add_listener.
Definition: impl-node.h:51
SPA_IO_ERR
#define SPA_IO_ERR
Definition: system.h:57
impl::aec
void * aec
Definition: module-echo-cancel.c:176
pw_core_disconnect
int pw_core_disconnect(struct pw_core *core)
disconnect and destroy a core
Definition: core.c:489
metadata::impl
struct pw_impl_metadata * impl
Definition: metadata.c:43
metadata::session
struct sm_media_session * session
Definition: metadata.c:46
protocol_data::module_listener
struct spa_hook module_listener
Definition: module-protocol-native.c:101
pw_export_type::link
struct spa_list link
Definition: context.h:148
server::resume
struct spa_source * resume
Definition: module-protocol-native.c:139
client::context
struct pw_context * context
Definition: module-protocol-native.c:109
impl::graph
struct graph graph
Definition: module-filter-chain.c:252
spa_io_clock::duration
uint64_t duration
duration of current cycle
Definition: io.h:142
node_data
Definition: module-adapter.c:68
pw_stream_connect
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:1603
DEFAULT_FORMAT
#define DEFAULT_FORMAT
Definition: module-protocol-simple.c:63
node_data::adapter
struct pw_impl_node * adapter
Definition: module-adapter.c:71
DEFAULT_FORMAT
#define DEFAULT_FORMAT
Definition: module-example-source.c:59
spa_pod_prop::key
uint32_t key
key of property, list of valid keys depends on the object type
Definition: pod/pod.h:200
SPA_LOG_LEVEL_DEBUG
@ SPA_LOG_LEVEL_DEBUG
Definition: obj-x86_64-linux-gnu/doc/spa/support/log.h:62
SPA_FLAG_IS_SET
#define SPA_FLAG_IS_SET(field, flag)
Definition: defs.h:73
buffer
Definition: filter.c:59
module_roc_source_data::resampler_profile
char * resampler_profile
Definition: module-roc-source.c:125
spa_pod_parser_pod
void spa_pod_parser_pod(struct spa_pod_parser *parser, const struct spa_pod *pod)
Definition: parser.h:64
pw_protocol_server
Definition: protocol.h:77
SPA_IO_CLOCK_FLAG_FREEWHEEL
#define SPA_IO_CLOCK_FLAG_FREEWHEEL
Definition: io.h:133
spa_list_init
void spa_list_init(struct spa_list *list)
Definition: list.h:44
node::node
struct spa_node * node
Definition: alsa-monitor.c:143
pw_module_events
Module events.
Definition: module.h:69
spa_list_for_each_safe
#define spa_list_for_each_safe(pos, tmp, head, member)
Definition: list.h:129
PW_KEY_LINK_OUTPUT_PORT
#define PW_KEY_LINK_OUTPUT_PORT
output port id of a link
Definition: src/pipewire/keys.h:201
spa_pod_builder_init
void spa_pod_builder_init(struct spa_pod_builder *builder, void *data, uint32_t size)
Definition: builder.h:96
client_data::client_listener
struct spa_hook client_listener
Definition: module-protocol-native.c:145
spa_data::chunk
struct spa_chunk * chunk
valid chunk of memory
Definition: buffer/buffer.h:89
module_roc_source_data::props
struct pw_properties * props
Definition: module-roc-source.c:105
spa_dict
Definition: utils/dict.h:48
cpu.h
impl::sink
struct pw_stream * sink
Definition: module-echo-cancel.c:164
server::activated
unsigned int activated
Definition: module-protocol-native.c:140
protocol_data::local
struct server * local
Definition: module-protocol-native.c:104
i18n.h
DEFAULT_RT_PRIO
#define DEFAULT_RT_PRIO
Definition: module-rt.c:57
PW_VERSION_IMPL_FACTORY_IMPLEMENTATION
#define PW_VERSION_IMPL_FACTORY_IMPLEMENTATION
Definition: impl-factory.h:63
PW_KEY_NODE_TARGET
#define PW_KEY_NODE_TARGET
node wants to be connected to the target node/session
Definition: src/pipewire/keys.h:152
spa_pod_parser
Definition: parser.h:49
spa_pod_builder_string
int spa_pod_builder_string(struct spa_pod_builder *builder, const char *str)
Definition: builder.h:303
pw_impl_port_add
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:933
ROC_DEFAULT_REPAIR_PORT
#define ROC_DEFAULT_REPAIR_PORT
Definition: module-roc-source.c:98
DEFAULT_POSITION
#define DEFAULT_POSITION
Definition: module-protocol-simple.c:66
pw_context_find_protocol
struct pw_protocol * pw_context_find_protocol(struct pw_context *context, const char *name)
Definition: protocol.c:180
pw_module_info
The module information.
Definition: module.h:43
spa_atoi32
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
client_data::source
struct spa_source * source
Definition: module-protocol-native.c:150
find_port::id
uint32_t id
Definition: module-link-factory.c:212
SPA_PROP_INFO_params
@ SPA_PROP_INFO_params
is part of params property (Bool)
Definition: props.h:51
SPA_DIRECTION_OUTPUT
@ SPA_DIRECTION_OUTPUT
Definition: defs.h:80
module_roc_source_data::module_listener
struct spa_hook module_listener
Definition: module-roc-source.c:104
SO_PEERSEC
#define SO_PEERSEC
Definition: module-protocol-native.c:88
DEFAULT_RT_TIME_HARD
#define DEFAULT_RT_TIME_HARD
Definition: module-rt.c:59
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
pw_protocol_native_ext_client_node_init
struct pw_protocol * pw_protocol_native_ext_client_node_init(struct pw_context *context)
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
pw_loop_signal_event
#define pw_loop_signal_event(l,...)
Definition: src/pipewire/loop.h:76
SPA_TYPE_INTERFACE_ThreadUtils
#define SPA_TYPE_INTERFACE_ThreadUtils
Definition: obj-x86_64-linux-gnu/doc/spa/support/thread.h:50
impl::server_list
struct spa_list server_list
Definition: module-protocol-simple.c:94
graph::link_list
struct spa_list link_list
Definition: module-filter-chain.c:208
MAX_PORTS
#define MAX_PORTS
Definition: module-filter-chain.c:111
graph::hndl
struct graph_hndl hndl[MAX_HNDL]
Definition: module-filter-chain.c:217
type-info.h
spa_pod_parser_get_float
int spa_pod_parser_get_float(struct spa_pod_parser *parser, float *value)
Definition: parser.h:172
pw_protocol_server::protocol
struct pw_protocol * protocol
the owner protocol
Definition: protocol.h:79
RINGBUFFER_MASK
#define RINGBUFFER_MASK
Definition: module-pulse-tunnel.c:84
spa_dict_lookup
const char * spa_dict_lookup(const struct spa_dict *dict, const char *key)
Definition: utils/dict.h:99
module_roc_sink_data::sender
roc_sender * sender
Definition: module-roc-sink.c:119
client::rate_match
struct spa_io_rate_match * rate_match
Definition: module-protocol-simple.c:122
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-loopback.c:395
DEFAULT_LATENCY
#define DEFAULT_LATENCY
Definition: module-protocol-simple.c:67
spa_json_parse_string
int spa_json_parse_string(const char *val, int len, char *result)
Definition: json.h:316
impl::rt_time_hard
rlim_t rt_time_hard
Definition: module-rt.c:85
proxy.h
impl::source_listener
struct spa_hook source_listener
Definition: module-echo-cancel.c:155
pw_stream_new
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
SPA_VERSION_DEVICE
#define SPA_VERSION_DEVICE
Definition: obj-x86_64-linux-gnu/doc/spa/monitor/device.h:52
spa_json_get_string
int spa_json_get_string(struct spa_json *iter, char *res, int maxlen)
Definition: json.h:360
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
impl::rec_ring
struct spa_ringbuffer rec_ring
Definition: module-echo-cancel.c:158
impl::thread_utils
struct spa_thread_utils thread_utils
Definition: module-rt.c:81
node_data::follower
struct pw_impl_node * follower
Definition: module-adapter.c:72
node::graph
struct graph * graph
Definition: module-filter-chain.c:164
spa_pod_frame
Definition: iter.h:42
NAME
#define NAME
Definition: module-protocol-simple.c:55
spa_support_find
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
pw_context_get_properties
const struct pw_properties * pw_context_get_properties(struct pw_context *context)
Get the context properties.
Definition: context.c:633
SPA_PARAM_EnumFormat
@ SPA_PARAM_EnumFormat
available formats as SPA_TYPE_OBJECT_Format
Definition: param.h:47
pw_protocol_get_user_data
void * pw_protocol_get_user_data(struct pw_protocol *protocol)
Definition: protocol.c:84
tunnel::module_listener
struct spa_hook module_listener
Definition: module-zeroconf-discover.c:103
NAME
#define NAME
Definition: module-profiler.c:47
spa_io_position::clock
struct spa_io_clock clock
clock position of driver, always valid and read only
Definition: io.h:272
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
factory_data::module_listener
struct spa_hook module_listener
Definition: module-adapter.c:65
client::name
char name[512]
Definition: module-protocol-simple.c:114
PW_PERMISSION_INIT
#define PW_PERMISSION_INIT(id, p)
Definition: permission.h:69
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-zeroconf-discover.c:494
impl::rec_ringsize
uint32_t rec_ringsize
Definition: module-echo-cancel.c:157
node::n_hndl
uint32_t n_hndl
Definition: module-filter-chain.c:176
raw.h
SPA_MEMBER
#define SPA_MEMBER(b, o, t)
Deprecated, use SPA_PTROFF and SPA_PTROFF_ALIGN instead.
Definition: defs.h:172
PW_VERSION_CORE_EVENTS
#define PW_VERSION_CORE_EVENTS
Definition: core.h:118
module_roc_source_data::local_repair_port
int local_repair_port
Definition: module-roc-source.c:128
impl::threads_list
struct spa_list threads_list
Definition: module-rtkit.c:94
module_roc_source_data::local_addr
roc_address local_addr
Definition: module-roc-source.c:119
SPA_PROP_INFO_type
@ SPA_PROP_INFO_type
type and range/enums of property
Definition: props.h:44
SPA_AUDIO_INFO_RAW_INIT
#define SPA_AUDIO_INFO_RAW_INIT(...)
Definition: audio/raw.h:296
ROC_DEFAULT_SESS_LATENCY
#define ROC_DEFAULT_SESS_LATENCY
Definition: module-roc-source.c:99
spa_strerror
#define spa_strerror(err)
Definition: result.h:51
pw_stream_update_params
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
MODULE_USAGE
#define MODULE_USAGE
Definition: module-example-source.c:64
pw_module_info::props
struct spa_dict * props
extra properties
Definition: module.h:51
SPA_AUDIO_FORMAT_S24_32
@ SPA_AUDIO_FORMAT_S24_32
Definition: audio/raw.h:110
result.h
impl::work
struct pw_work_queue * work
Definition: module-echo-cancel.c:140
NAME
#define NAME
Definition: module-pulse-tunnel.c:57
module_roc_sink_data::unloading
unsigned int unloading
Definition: module-roc-sink.c:113
server::this
struct pw_protocol_server this
Definition: module-protocol-native.c:131
pw_profiler_resource_profile
#define pw_profiler_resource_profile(r,...)
Definition: module-profiler.c:63
SPA_IO_IN
#define SPA_IO_IN
Definition: system.h:55
thread::impl
struct impl * impl
Definition: module-rtkit.c:76
PW_ID_CORE
#define PW_ID_CORE
default ID for the core object after connect
Definition: core.h:66
pw_resource_new
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:44
pw_resource_get_client
struct pw_impl_client * pw_resource_get_client(struct pw_resource *resource)
Get the client owning this resource.
Definition: resource.c:128
pw_protocol_marshal::client_demarshal
const void * client_demarshal
Definition: protocol.h:100
node::output_port
struct port output_port[MAX_PORTS]
Definition: module-filter-chain.c:172
SPA_AUDIO_FORMAT_S24_LE
@ SPA_AUDIO_FORMAT_S24_LE
Definition: audio/raw.h:65
pw_impl_module_get_info
const struct pw_module_info * pw_impl_module_get_info(struct pw_impl_module *module)
Get the module info.
Definition: impl-module.c:378
SPA_TYPE_OBJECT_Props
@ SPA_TYPE_OBJECT_Props
Definition: obj-x86_64-linux-gnu/doc/spa/utils/type.h:89
SPA_AUDIO_FORMAT_S24P
@ SPA_AUDIO_FORMAT_S24P
Definition: audio/raw.h:91
module_roc_source_data::local_source_port
int local_source_port
Definition: module-roc-source.c:127
pw_context_get_object
void * pw_context_get_object(struct pw_context *context, const char *type)
get an object from the context
Definition: context.c:1491
param
Definition: filter.c:80
pw_loop_add_timer
#define pw_loop_add_timer(l,...)
Definition: src/pipewire/loop.h:77
pw_work_queue_add
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
pw_properties_new_string
struct pw_properties * pw_properties_new_string(const char *args)
Make a new properties object from the given str.
Definition: properties.c:197
client_data::need_flush
unsigned int need_flush
Definition: module-protocol-native.c:155
SPA_IO_HUP
#define SPA_IO_HUP
Definition: system.h:58
pw_log_debug
#define pw_log_debug(...)
Definition: src/pipewire/log.h:155
pw_impl_client_update_permissions
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:647
tunnel::info
struct tunnel_info info
Definition: module-zeroconf-discover.c:101
pw_rtkit_make_high_priority
int pw_rtkit_make_high_priority(struct pw_rtkit_bus *connection, pid_t thread, int nice_level)
Definition: module-rtkit.c:384
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-example-sink.c:366
impl::play_ringsize
uint32_t play_ringsize
Definition: module-echo-cancel.c:167
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-metadata.c:159
impl::buffer
struct spa_ringbuffer buffer
Definition: module-profiler.c:88
SPA_AUDIO_FORMAT_S16
@ SPA_AUDIO_FORMAT_S16
Definition: audio/raw.h:108
client
Definition: module-protocol-native.c:107
PW_KEY_LINK_OUTPUT_NODE
#define PW_KEY_LINK_OUTPUT_NODE
output node id of a link
Definition: src/pipewire/keys.h:200
NAME
#define NAME
Definition: module-example-sink.c:54
spa_json_next
int spa_json_next(struct spa_json *iter, const char **value)
Get the next token.
Definition: json.h:74
module_roc_sink_data::remote_source_addr
roc_address remote_source_addr
Definition: module-roc-sink.c:116
PW_KEY_NODE_VIRTUAL
#define PW_KEY_NODE_VIRTUAL
the node is some sort of virtual object
Definition: src/pipewire/keys.h:174
SPA_FALLTHROUGH
#define SPA_FALLTHROUGH
SPA_FALLTHROUGH is an annotation to suppress compiler warnings about switch cases that fall through w...
Definition: defs.h:69
impl::buffer
void * buffer
Definition: module-pulse-tunnel.c:115
factory_data::node_list
struct spa_list node_list
Definition: module-adapter.c:61
PW_VERSION_IMPL_MODULE_EVENTS
#define PW_VERSION_IMPL_MODULE_EVENTS
Definition: impl-module.h:64
server::link
struct spa_list link
Definition: module-protocol-simple.c:130
spa_pod_get_float
int spa_pod_get_float(const struct spa_pod *pod, float *value)
Definition: iter.h:208
spa_pod_builder_prop
int spa_pod_builder_prop(struct spa_pod_builder *builder, uint32_t key, uint32_t flags)
Definition: builder.h:441
impl::rate
long unsigned rate
Definition: module-filter-chain.c:250
pw_protocol_client::set_paused
int(* set_paused)(struct pw_protocol_client *client, bool paused)
Definition: protocol.h:67
DEFAULT_RATE
#define DEFAULT_RATE
Definition: module-example-sink.c:60
client_data::busy
unsigned int busy
Definition: module-protocol-native.c:154
SPA_USEC_PER_MSEC
#define SPA_USEC_PER_MSEC
Definition: defs.h:193
pw_protocol_marshal::server_demarshal
const void * server_demarshal
Definition: protocol.h:98
pw_impl_factory_destroy
void pw_impl_factory_destroy(struct pw_impl_factory *factory)
Definition: impl-factory.c:83
pw_global_destroy
void pw_global_destroy(struct pw_global *global)
Destroy a global.
Definition: global.c:370
spa_list_first
#define spa_list_first(head, type, member)
Definition: list.h:75
DEFAULT_POSITION
#define DEFAULT_POSITION
Definition: module-example-source.c:62
module_roc_source_data::module_context
struct pw_context * module_context
Definition: module-roc-source.c:106
pw_protocol_native_ext_profiler_init
int pw_protocol_native_ext_profiler_init(struct pw_context *context)
graph_port::desc
const struct fc_descriptor * desc
Definition: module-filter-chain.c:194
SPA_MIN
#define SPA_MIN(a, b)
Definition: defs.h:128
SPA_AUDIO_CHANNEL_UNKNOWN
@ SPA_AUDIO_CHANNEL_UNKNOWN
unspecified
Definition: audio/raw.h:172
PW_VERSION_GLOBAL_EVENTS
#define PW_VERSION_GLOBAL_EVENTS
Definition: global.h:69
SPA_ID_INVALID
#define SPA_ID_INVALID
Definition: defs.h:187
impl::tmp
uint8_t tmp[TMP_BUFFER]
Definition: module-profiler.c:89
impl::context
struct pw_context * context
Definition: settings.c:43
SPA_PROFILER_info
@ SPA_PROFILER_info
Generic info, counter and CPU load, (Struct( Long : counter, Float : cpu_load fast,...
Definition: profiler.h:44
impl::empty
uint32_t empty
Definition: module-profiler.c:83
SPA_POD_Fraction
#define SPA_POD_Fraction(val)
Definition: vararg.h:91
PW_KEY_MEDIA_CLASS
#define PW_KEY_MEDIA_CLASS
class Ex: "Video/Source"
Definition: src/pipewire/keys.h:285
pw_properties_update_string
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
pw_properties_set
int pw_properties_set(struct pw_properties *properties, const char *key, const char *value)
Set a property value.
Definition: properties.c:435
find_node::node
struct pw_impl_node * node
Definition: module-link-factory.c:304
PW_KEY_CLIENT_ID
#define PW_KEY_CLIENT_ID
Client properties.
Definition: src/pipewire/keys.h:131
pw_protocol_server::link
struct spa_list link
link in protocol server_list
Definition: protocol.h:78
resource_data::data
struct result_device_params_data data
Definition: impl-device.c:77
spa_audio_info_raw::position
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: audio/raw.h:293
MAX_CLIENTS
#define MAX_CLIENTS
Definition: module-protocol-simple.c:69
server::type
uint32_t type
Definition: module-protocol-simple.c:136
PW_ID_ANY
#define PW_ID_ANY
Definition: core.h:69
impl::bus
DBusConnection * bus
Definition: module-portal.c:92
SPA_AUDIO_CHANNEL_FR
@ SPA_AUDIO_CHANNEL_FR
front right
Definition: audio/raw.h:178
pw_core_spa_node_export
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)
PW_KEY_SEC_GID
#define PW_KEY_SEC_GID
client gid, set by protocol
Definition: src/pipewire/keys.h:57
PW_KEY_MODULE_VERSION
#define PW_KEY_MODULE_VERSION
a version string for the module.
Definition: src/pipewire/keys.h:256
descriptor::output
unsigned long output[MAX_PORTS]
Definition: module-filter-chain.c:141
spa_chunk::size
uint32_t size
size of valid data.
Definition: buffer/buffer.h:61
spa_dbus_connection_get
#define spa_dbus_connection_get(c)
Definition: dbus.h:112
DEFAULT_RT_TIME_SOFT
#define DEFAULT_RT_TIME_SOFT
Definition: module-rt.c:58
pw_impl_factory_implementation
Definition: impl-factory.h:62
graph_hndl::hndl
void * hndl
Definition: module-filter-chain.c:201
FACTORY_USAGE
#define FACTORY_USAGE
Definition: module-adapter.c:48
MAX_BUFSIZE_MS
#define MAX_BUFSIZE_MS
Definition: module-echo-cancel.c:119
DEFAULT_INTERVAL
#define DEFAULT_INTERVAL
Definition: module-profiler.c:56
PW_KEY_OBJECT_REGISTER
#define PW_KEY_OBJECT_REGISTER
If the object should be registered.
Definition: src/pipewire/keys.h:69
module_roc_source_data::core
struct pw_core * core
Definition: module-roc-source.c:108
PW_KEY_DEVICE_ICON_NAME
#define PW_KEY_DEVICE_ICON_NAME
an XDG icon name for the device.
Definition: src/pipewire/keys.h:240
client::this
struct pw_protocol_client this
Definition: module-protocol-native.c:108
spa_ringbuffer_write_update
void spa_ringbuffer_write_update(struct spa_ringbuffer *rbuf, int32_t index)
Update the write pointer to index.
Definition: ringbuffer.h:169
module_roc_sink_data::core_proxy_listener
struct spa_hook core_proxy_listener
Definition: module-roc-sink.c:106
impl::pa_context
pa_context * pa_context
Definition: module-pulse-tunnel.c:119
sm_media_session_export_metadata
struct pw_metadata * sm_media_session_export_metadata(struct sm_media_session *sess, const char *name)
Definition: metadata.c:67
client::source
struct spa_source * source
Definition: module-protocol-native.c:111
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
node::notify_port
struct port notify_port[MAX_PORTS]
Definition: module-filter-chain.c:174
factory_data::this
struct pw_impl_factory * this
Definition: module-adapter.c:59
spa_ringbuffer_read_update
void spa_ringbuffer_read_update(struct spa_ringbuffer *rbuf, int32_t index)
Update the read pointer to index.
Definition: ringbuffer.h:119
NAME
#define NAME
Definition: module-zeroconf-discover.c:52
impl::capture_listener
struct spa_hook capture_listener
Definition: module-echo-cancel.c:152
spa_debug_type_short_name
const char * spa_debug_type_short_name(const char *name)
Definition: types.h:60
server::n_clients
uint32_t n_clients
Definition: module-protocol-simple.c:141
pw_resource_error
void pw_resource_error(struct pw_resource *resource, int res, const char *error)
Generate an error for a resource.
Definition: resource.c:256
module_roc_sink_data::work
struct pw_work_queue * work
Definition: module-roc-sink.c:99
MODULE_USAGE
#define MODULE_USAGE
Definition: module-access.c:130
PW_PERM_X
#define PW_PERM_X
methods can be called on the object.
Definition: permission.h:49
plugin::path
char path[PATH_MAX]
Definition: module-filter-chain.c:122
pw_core_node_export
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)
spa_dbus_get_connection
struct spa_dbus_connection * spa_dbus_get_connection(struct spa_dbus *dbus, enum spa_dbus_type type)
Definition: dbus.h:137
pw_log_warn
#define pw_log_warn(...)
Definition: src/pipewire/log.h:153
session_factory_init
int session_factory_init(struct pw_impl_module *module)
module_roc_sink_data::capture_listener
struct spa_hook capture_listener
Definition: module-roc-sink.c:109
pw_module_info::name
const char * name
name of the module
Definition: module.h:45
server
Definition: module-protocol-native.c:130
pw_module_info::change_mask
uint64_t change_mask
bitfield of changed fields since last call
Definition: module.h:50
SPA_POD_String
#define SPA_POD_String(val)
Definition: vararg.h:81
pw_impl_factory_get_info
const struct pw_factory_info * pw_impl_factory_get_info(struct pw_impl_factory *factory)
Get the factory info.
Definition: impl-factory.c:233
spa_io_clock::rate
struct spa_fraction rate
rate for position/duration/delay
Definition: io.h:140
NAME
#define NAME
Definition: module-rt.c:49
spa_buffer::datas
struct spa_data * datas
array of data members
Definition: buffer/buffer.h:97
pw_impl_client_get_core_resource
struct pw_resource * pw_impl_client_get_core_resource(struct pw_impl_client *client)
Get the client core resource.
Definition: impl-client.c:535
metadata::proxy
struct pw_proxy * proxy
Definition: metadata.c:48
pw_buffer::buffer
struct spa_buffer * buffer
the spa buffer
Definition: stream.h:176
spa_data
Data for a buffer this stays constant for a buffer.
Definition: buffer/buffer.h:70
impl::properties
struct pw_properties * properties
Definition: module-access.c:144
node::type
uint32_t type
Definition: policy-node.c:121
n
const char unsigned long int n
Definition: src/pipewire/i18n.h:35
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-profiler.c:356
resource_data::impl
struct pw_impl_metadata * impl
Definition: impl-metadata.c:262
server::source
struct spa_source * source
Definition: module-protocol-native.c:138
tunnel_info::type
const char * type
Definition: module-zeroconf-discover.c:93
module_roc_sink_data::core
struct pw_core * core
Definition: module-roc-sink.c:104
json.h
module_roc_sink_data::module_context
struct pw_context * module_context
Definition: module-roc-sink.c:102
context.h
descriptor::n_notify
uint32_t n_notify
Definition: module-filter-chain.c:139
SPA_JSON_SAVE
#define SPA_JSON_SAVE(iter)
Definition: json.h:70
SPA_AUDIO_FORMAT_F64
@ SPA_AUDIO_FORMAT_F64
Definition: audio/raw.h:121
impl::this
struct pw_control this
Definition: control.c:34
PW_KEY_OBJECT_LINGER
#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
SERVICE_TYPE_SINK
#define SERVICE_TYPE_SINK
Definition: module-zeroconf-discover.c:66
impl::unloading
unsigned int unloading
Definition: module-echo-cancel.c:183
spa_json_enter_array
int spa_json_enter_array(struct spa_json *iter, struct spa_json *sub)
Definition: json.h:224
pw_properties_copy
struct pw_properties * pw_properties_copy(const struct pw_properties *properties)
Copy a properties object.
Definition: properties.c:222
module_roc_source_data::playback_props
struct pw_properties * playback_props
Definition: module-roc-source.c:114
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-example-source.c:386
pw_impl_node_get_context
struct pw_context * pw_impl_node_get_context(struct pw_impl_node *node)
Get the context of this node.
Definition: impl-node.c:1262
tunnel
Definition: module-zeroconf-discover.c:99
pw_loop_invoke
#define pw_loop_invoke(l,...)
Definition: src/pipewire/loop.h:63
PW_KEY_ACCESS
#define PW_KEY_ACCESS
how the client access is controlled
Definition: src/pipewire/keys.h:48
plugin::link
struct spa_list link
Definition: pipewire.c:63
module_roc_sink_data::remote_repair_port
int remote_repair_port
Definition: module-roc-sink.c:124
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
client::core
struct pw_core * core
Definition: module-protocol-simple.c:110
spa_io_clock::delay
int64_t delay
delay between position and hardware, positive for capture, negative for playback
Definition: io.h:143
node_data::adapter_listener
struct spa_hook adapter_listener
Definition: module-adapter.c:73
client_endpoint_factory_init
int client_endpoint_factory_init(struct pw_impl_module *module)
client::need_flush
unsigned int need_flush
Definition: module-protocol-native.c:120
iter.h
pw_proxy_add_listener
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:197
pw_protocol_marshal
Definition: protocol.h:90
pw_impl_client_destroy
void pw_impl_client_destroy(struct pw_impl_client *client)
Destroy a previously created client.
Definition: impl-client.c:578
module_roc_source_data::local_ip
char * local_ip
Definition: module-roc-source.c:126
RLIMIT_RTTIME
#define RLIMIT_RTTIME
Definition: module-rtkit.c:140
defs.h
spa_hook_remove
void spa_hook_remove(struct spa_hook *hook)
Remove a hook.
Definition: hook.h:354
pw_impl_metadata_destroy
void pw_impl_metadata_destroy(struct pw_impl_metadata *metadata)
Definition: impl-metadata.c:355
pw_resource_get_user_data
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:160
PW_KEY_REMOTE_INTENTION
#define PW_KEY_REMOTE_INTENTION
The intention of the remote connection, "generic", "screencast".
Definition: src/pipewire/keys.h:104
impl::aec_blocksize
uint32_t aec_blocksize
Definition: module-echo-cancel.c:177
SPA_DBUS_TYPE_SESSION
@ SPA_DBUS_TYPE_SESSION
The login session bus.
Definition: dbus.h:45
impl::module_listener
struct spa_hook module_listener
Definition: module-access.c:147
find_port::name
const char * name
Definition: module-link-factory.c:213
SPA_POD_Long
#define SPA_POD_Long(val)
Definition: vararg.h:65
pw_protocol_client_disconnect
#define pw_protocol_client_disconnect(c)
Definition: protocol.h:73
port::p
unsigned long p
Definition: module-filter-chain.c:152
module_roc_sink_data::local_ip
char * local_ip
Definition: module-roc-sink.c:121
pw_log_info
#define pw_log_info(...)
Definition: src/pipewire/log.h:154
pw_module_events::version
uint32_t version
Definition: module.h:71
node::n_deps
unsigned int n_deps
Definition: module-filter-chain.c:179
spa_pod_builder_add_struct
#define spa_pod_builder_add_struct(b,...)
Definition: builder.h:658
latency-utils.h
SPA_AUDIO_FORMAT_F32
@ SPA_AUDIO_FORMAT_F32
Definition: audio/raw.h:120
client::capture
struct pw_stream * capture
Definition: module-protocol-simple.c:116
node_data::bound_resource
struct pw_resource * bound_resource
Definition: module-adapter.c:75
DEFAULT_PORT
#define DEFAULT_PORT
Definition: module-protocol-simple.c:60
pw_impl_node_destroy
void pw_impl_node_destroy(struct pw_impl_node *node)
Destroy a node.
Definition: impl-node.c:1726
SPA_AUDIO_FORMAT_F32P
@ SPA_AUDIO_FORMAT_F32P
Definition: audio/raw.h:92
pw_impl_node_for_each_port
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:1805
spa_type_audio_format
const struct spa_type_info spa_type_audio_format[]
Definition: param/audio/type-info.h:42
PW_LOG_TOPIC_STATIC
PW_LOG_TOPIC_STATIC(mod_topic, "mod." NAME)
spa_debug_pod
int spa_debug_pod(int indent, const struct spa_type_info *info, const struct spa_pod *pod)
Definition: debug/pod.h:200
spa_data::data
void * data
optional data pointer
Definition: buffer/buffer.h:88
NAME
#define NAME
Definition: module-client-node.c:42
graph::node_list
struct spa_list node_list
Definition: module-filter-chain.c:207
PW_VERSION_CONTEXT_EVENTS
#define PW_VERSION_CONTEXT_EVENTS
Definition: context.h:73
impl::rate_match
struct spa_io_rate_match * rate_match
Definition: module-example-source.c:98
pipewire.h
SPA_AUDIO_FORMAT_S8
@ SPA_AUDIO_FORMAT_S8
Definition: audio/raw.h:51
resource_data::resource
struct pw_resource * resource
Definition: impl-core.c:76
spa_pod_struct
Definition: pod/pod.h:161
pw_impl_node_add_listener
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:1711
PW_STREAM_STATE_STREAMING
@ PW_STREAM_STATE_STREAMING
streaming
Definition: stream.h:172
descriptor::label
char label[256]
Definition: module-filter-chain.c:132
module_roc_source_data::do_disconnect
unsigned int do_disconnect
Definition: module-roc-source.c:116
spa_pod_builder::size
uint32_t size
Definition: builder.h:65
client_data::conn_listener
struct spa_hook conn_listener
Definition: module-protocol-native.c:152
impl::play_ring
struct spa_ringbuffer play_ring
Definition: module-echo-cancel.c:168
SPA_TYPE_OBJECT_PropInfo
@ SPA_TYPE_OBJECT_PropInfo
Definition: obj-x86_64-linux-gnu/doc/spa/utils/type.h:88
impl::out_buffer
void * out_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:171
SPA_PARAM_PropInfo
@ SPA_PARAM_PropInfo
property information as SPA_TYPE_OBJECT_PropInfo
Definition: param.h:45
pw_work_queue_cancel
int pw_work_queue_cancel(struct pw_work_queue *queue, void *obj, uint32_t id)
Cancel a work item.
Definition: work-queue.c:216
PW_KEY_FACTORY_USAGE
#define PW_KEY_FACTORY_USAGE
the usage of the factory
Definition: src/pipewire/keys.h:261
impl::conn
struct spa_dbus_connection * conn
Definition: module-portal.c:91
spa_ringbuffer_init
void spa_ringbuffer_init(struct spa_ringbuffer *rbuf)
Initialize a spa_ringbuffer with size.
Definition: ringbuffer.h:58
impl::out_ring
struct spa_ringbuffer out_ring
Definition: module-echo-cancel.c:173
SPA_AUDIO_FORMAT_S32
@ SPA_AUDIO_FORMAT_S32
Definition: audio/raw.h:112
PW_VERSION_PROTOCOL_IMPLEMENTATION
#define PW_VERSION_PROTOCOL_IMPLEMENTATION
Definition: protocol.h:104
PW_DEFAULT_REMOTE
#define PW_DEFAULT_REMOTE
The default remote name to connect to.
Definition: core.h:63
spa_pod_prop::value
struct spa_pod value
Definition: pod/pod.h:212
pw_loop::loop
struct spa_loop * loop
wrapped loop
Definition: src/pipewire/loop.h:49
client_data
Definition: module-protocol-native.c:143
graph::output
struct graph_port output[MAX_PORTS]
Definition: module-filter-chain.c:214
client::disconnect
unsigned int disconnect
Definition: module-protocol-simple.c:124
pw_module_events::info
void(* info)(void *object, const struct pw_module_info *info)
Notify module info.
Definition: module.h:77
client_data::connection
struct pw_protocol_native_connection * connection
Definition: module-protocol-native.c:151
pw_stream_queue_buffer
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:2047
pw_module_info_merge
struct pw_module_info * pw_module_info_merge(struct pw_module_info *info, const struct pw_module_info *update, bool reset)
Merge and existing pw_module_info with update.
Definition: introspect.c:363
impl::busy
uint32_t busy
Definition: module-profiler.c:82
MODULE_USAGE
#define MODULE_USAGE
Definition: module-protocol-pulse.c:51
pw_protocol_client_connect_fd
#define pw_protocol_client_connect_fd(c, fd, cl)
Definition: protocol.h:71
protocol_data
Definition: module-protocol-native.c:99
MODULE_USAGE
#define MODULE_USAGE
Definition: module-pulse-tunnel.c:62
SPA_AUDIO_FORMAT_S16P
@ SPA_AUDIO_FORMAT_S16P
Definition: audio/raw.h:88
DEFAULT_RATE
#define DEFAULT_RATE
Definition: module-example-source.c:60
PW_STREAM_FLAG_MAP_BUFFERS
@ PW_STREAM_FLAG_MAP_BUFFERS
mmap the buffers except DmaBuf
Definition: stream.h:254
impl::play_rate_match
struct spa_io_rate_match * play_rate_match
Definition: module-echo-cancel.c:169
NAME
#define NAME
Definition: module-echo-cancel.c:112
node_data::new_id
uint32_t new_id
Definition: module-adapter.c:77
SPA_POD_Id
#define SPA_POD_Id(val)
Definition: vararg.h:56
DEFAULT_RATE
#define DEFAULT_RATE
Definition: module-protocol-simple.c:64
graph::n_input
uint32_t n_input
Definition: module-filter-chain.c:210
spa_support
Extra supporting infrastructure passed to the init() function of a factory.
Definition: plugin.h:89
pw_protocol_new
struct pw_protocol * pw_protocol_new(struct pw_context *context, const char *name, size_t user_data_size)
Definition: protocol.c:49
spa_io_clock::next_nsec
uint64_t next_nsec
estimated next wakeup time in nanoseconds
Definition: io.h:146
port::node
struct node * node
Definition: module-filter-chain.c:149
pw_module_methods::add_listener
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_module_events *events, void *data)
Definition: module.h:88
impl::sink_browser
AvahiServiceBrowser * sink_browser
Definition: module-zeroconf-discover.c:81
DEFAULT_IDLE
#define DEFAULT_IDLE
Definition: module-profiler.c:55
impl::source
struct pw_stream * source
Definition: module-echo-cancel.c:154
pw_global_get_id
uint32_t pw_global_get_id(struct pw_global *global)
Get the unique id of the global.
Definition: global.c:225
server::fd_lock
int fd_lock
Definition: module-protocol-native.c:133
SPA_UNLIKELY
#define SPA_UNLIKELY(x)
Definition: defs.h:242
pw_properties_new
struct pw_properties * pw_properties_new(const char *key,...) 1
Make a new properties object.
Definition: properties.c:98
pw_loop_update_io
#define pw_loop_update_io(l,...)
Definition: src/pipewire/loop.h:72
pw_protocol_native_ext_session_manager_init
int pw_protocol_native_ext_session_manager_init(struct pw_context *context)
SPA_NSEC_PER_MSEC
#define SPA_NSEC_PER_MSEC
Definition: defs.h:190
spa_io_clock::nsec
uint64_t nsec
time in nanoseconds against monotonic clock
Definition: io.h:139
metadata::session_listener
struct spa_hook session_listener
Definition: metadata.c:47
pw_resource_events
Resource events.
Definition: resource.h:60
PW_KEY_MODULE_USAGE
#define PW_KEY_MODULE_USAGE
a human readable usage description of the module's arguments.
Definition: src/pipewire/keys.h:254
client::capture_listener
struct spa_hook capture_listener
Definition: module-protocol-simple.c:117
pw_core_add_listener
#define pw_core_add_listener(c,...)
Definition: core.h:328
module_roc_sink_data::props
struct pw_properties * props
Definition: module-roc-sink.c:101
node.h
pw_protocol_marshal::n_client_methods
uint32_t n_client_methods
number of client methods
Definition: protocol.h:95
pw_properties_setf
int pw_properties_setf(struct pw_properties *properties, const char *key, const char *format,...) 1(3
impl::stream
struct pw_stream * stream
Definition: module-example-sink.c:96
graph::control_port
struct port * control_port[MAX_CONTROLS]
Definition: module-filter-chain.c:220
pw_impl_module_get_context
struct pw_context * pw_impl_module_get_context(struct pw_impl_module *module)
Get the context of a module.
Definition: impl-module.c:336
data::id
const char * id
Definition: media-session.c:115
spa_pod_builder
Definition: builder.h:63
client_data::compat_v2
struct protocol_compat_v2 compat_v2
Definition: module-protocol-native.c:157
hook.h
RLIMIT_RTTIME
#define RLIMIT_RTTIME
Definition: module-rt.c:68
RTKIT_OBJECT_PATH
#define RTKIT_OBJECT_PATH
Definition: module-rtkit.c:137
impl::pulse
struct pw_protocol_pulse * pulse
Definition: module-protocol-pulse.c:65
pw_impl_client_find_resource
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:541
impl::aec_info
const struct echo_cancel_info * aec_info
Definition: module-echo-cancel.c:175
SPA_TYPE_INTERFACE_CPU
#define SPA_TYPE_INTERFACE_CPU
The CPU features interface.
Definition: cpu.h:49
module_roc_source_data::module
struct pw_impl_module * module
Definition: module-roc-source.c:102
pw_impl_factory_update_properties
int pw_impl_factory_update_properties(struct pw_impl_factory *factory, const struct spa_dict *dict)
Update the factory properties.
Definition: impl-factory.c:154
PW_KEY_SEC_PID
#define PW_KEY_SEC_PID
Various keys related to the identity of a client process and its security.
Definition: src/pipewire/keys.h:55
pw_module_methods
Module methods.
Definition: module.h:84
resource_data::impl
struct impl * impl
Definition: module-profiler.c:96
client::link
struct spa_list link
link in impl client_list
Definition: module-protocol-simple.c:106
pw_protocol_native_ext_client_node0_init
struct pw_protocol * pw_protocol_native_ext_client_node0_init(struct pw_context *context)
pw_protocol_client::steal_fd
int(* steal_fd)(struct pw_protocol_client *client)
Definition: protocol.h:64
pw_impl_client_add_listener
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:614
SPA_PROFILER_driverBlock
@ SPA_PROFILER_driverBlock
generic driver info block (Struct( Int : driver_id, String : name, Long : driver prev_signal,...
Definition: profiler.h:63
node::hndl
void * hndl[MAX_HNDL]
Definition: module-filter-chain.c:177
impl::rec_buffer
void * rec_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:156
spa_pod_builder_push_struct
int spa_pod_builder_push_struct(struct spa_pod_builder *builder, struct spa_pod_frame *frame)
Definition: builder.h:414
impl::core
struct pw_core * core
Definition: module-echo-cancel.c:145
pod.h
SPA_TYPE_INTERFACE_DBus
#define SPA_TYPE_INTERFACE_DBus
Definition: dbus.h:39
impl::work_queue
struct pw_work_queue * work_queue
Definition: module-protocol-simple.c:96
spa_json
Definition: json.h:49
PW_KEY_PORT_ALIAS
#define PW_KEY_PORT_ALIAS
port alias
Definition: src/pipewire/keys.h:187
data::context
struct pw_context * context
Definition: filter.c:76
MAX_HNDL
#define MAX_HNDL
Definition: module-filter-chain.c:110
pw_impl_factory_implementation::create_object
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
pw_module_info::filename
const char * filename
filename of the module
Definition: module.h:46
factory_data::export_spadevice
struct pw_export_type export_spadevice
Definition: module-client-device.c:64
NAME
#define NAME
Definition: module-loopback.c:48
log.h
MODULE_USAGE
#define MODULE_USAGE
Definition: module-protocol-simple.c:71
DEFAULT_RT_PRIO
#define DEFAULT_RT_PRIO
Definition: module-rtkit.c:57
support
Definition: pipewire.c:83
pw_metadata_new
void * pw_metadata_new(struct pw_context *context, struct pw_resource *resource, struct pw_properties *properties)
builder.h
client_data::server
struct server * server
Definition: module-protocol-native.c:148
pw_impl_metadata_get_implementation
struct pw_metadata * pw_impl_metadata_get_implementation(struct pw_impl_metadata *metadata)
Definition: impl-metadata.c:349
pw_protocol_client::connect
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
pw_properties
Definition: properties.h:49
impl::frame_size
uint32_t frame_size
Definition: module-example-sink.c:99
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-client-device.c:167
PW_VERSION_IMPL_CLIENT_EVENTS
#define PW_VERSION_IMPL_CLIENT_EVENTS
Definition: impl-client.h:89
pw_properties_free
void pw_properties_free(struct pw_properties *properties)
Free a properties object.
Definition: properties.c:364
node::id
uint32_t id
Definition: alsa-monitor.c:139
PW_KEY_CLIENT_ACCESS
#define PW_KEY_CLIENT_ACCESS
how the client wants to be access controlled
Definition: src/pipewire/keys.h:49
endpoint_stream_factory_init
int endpoint_stream_factory_init(struct pw_impl_module *module)
impl::client
AvahiClient * client
Definition: module-zeroconf-discover.c:80
strndupa
#define strndupa(s, n)
Definition: src/pipewire/utils.h:67
PW_TYPE_INTERFACE_Port
#define PW_TYPE_INTERFACE_Port
Definition: port.h:50
pw_core_events
Core events.
Definition: core.h:117
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-portal.c:305
SPA_KEY_FACTORY_NAME
#define SPA_KEY_FACTORY_NAME
the name of a factory
Definition: plugin.h:211
pw_log_error
#define pw_log_error(...)
Definition: src/pipewire/log.h:152
impl::do_disconnect
unsigned int do_disconnect
Definition: module-echo-cancel.c:182
pw_impl_client_get_global
struct pw_global * pw_impl_client_get_global(struct pw_impl_client *client)
Get the global associated with this client.
Definition: impl-client.c:547
pw_impl_module_update_properties
int pw_impl_module_update_properties(struct pw_impl_module *module, const struct spa_dict *dict)
Update the module properties.
Definition: impl-module.c:354
pw_stream_events
Events for a stream.
Definition: stream.h:211
spa_list_append
#define spa_list_append(list, item)
Definition: list.h:81
port::idx
uint32_t idx
Definition: module-filter-chain.c:151
PW_STREAM_STATE_ERROR
@ PW_STREAM_STATE_ERROR
the stream is in error
Definition: stream.h:168
pw_impl_client_get_properties
const struct pw_properties * pw_impl_client_get_properties(struct pw_impl_client *client)
Get the client properties.
Definition: impl-client.c:553
desc
const char * desc
Definition: media-session.c:2395
impl::out_ringsize
uint32_t out_ringsize
Definition: module-echo-cancel.c:172
dict.h
node_data::link
struct spa_list link
Definition: module-adapter.c:70