PipeWire  0.3.33
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);
58 
60 void pw_module_info_free(struct pw_module_info *info);
61 
62 #define PW_MODULE_EVENT_INFO 0
63 #define PW_MODULE_EVENT_NUM 1
64 
67 #define PW_VERSION_MODULE_EVENTS 0
68  uint32_t version;
74  void (*info) (void *object, const struct pw_module_info *info);
75 };
76 
77 #define PW_MODULE_METHOD_ADD_LISTENER 0
78 #define PW_MODULE_METHOD_NUM 1
79 
82 #define PW_VERSION_MODULE_METHODS 0
83  uint32_t version;
84 
85  int (*add_listener) (void *object,
86  struct spa_hook *listener,
87  const struct pw_module_events *events,
88  void *data);
89 };
90 
91 #define pw_module_method(o,method,version,...) \
92 ({ \
93  int _res = -ENOTSUP; \
94  spa_interface_call_res((struct spa_interface*)o, \
95  struct pw_module_methods, _res, \
96  method, version, ##__VA_ARGS__); \
97  _res; \
98 })
99 
100 #define pw_module_add_listener(c,...) pw_module_method(c,add_listener,0,__VA_ARGS__)
101 
102 #ifdef __cplusplus
103 } /* extern "C" */
104 #endif
105 
106 #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:38
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:386
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
SPA_MAX
#define SPA_MAX(a, b)
Definition: defs.h:129
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:94
client::impl
struct impl * impl
Definition: module-protocol-simple.c:104
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:567
module_roc_source_data::context
roc_context * context
Definition: module-roc-source.c:113
SPA_POD_Float
#define SPA_POD_Float(val)
Definition: vararg.h:71
port::n_links
uint32_t n_links
Definition: module-filter-chain.c:148
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:638
DEFAULT_NICE_LEVEL
#define DEFAULT_NICE_LEVEL
Definition: module-rtkit.c:51
module_roc_source_data::core_listener
struct spa_hook core_listener
Definition: module-roc-source.c:100
spa_source::mask
uint32_t mask
Definition: build-12775836/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::capture_info
struct spa_audio_info_raw capture_info
Definition: module-filter-chain.c:236
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:725
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:285
pw_properties::flags
uint32_t flags
extra flags
Definition: properties.h:51
SPA_PROP_START_CUSTOM
@ SPA_PROP_START_CUSTOM
Definition: props.h:116
spa_pod_object
Definition: pod/pod.h:175
spa_audio_info_raw::rate
uint32_t rate
Definition: audio/raw.h:288
impl::flush
uint8_t flush[MAX_BUFFER+sizeof(struct spa_pod_struct)]
Definition: module-profiler.c:89
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:558
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:108
thread::pid
pid_t pid
Definition: module-rtkit.c:74
module_roc_sink_data
Definition: module-roc-sink.c:88
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:166
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:84
pw_protocol_client::core
struct pw_core * core
Definition: protocol.h:57
MODULE_USAGE
#define MODULE_USAGE
Definition: module-rt.c:55
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:105
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:659
RTKIT_SERVICE_NAME
#define RTKIT_SERVICE_NAME
Definition: module-rtkit.c:131
graph_hndl::desc
const struct fc_descriptor * desc
Definition: module-filter-chain.c:193
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:1370
server::loop
struct pw_loop * loop
Definition: module-protocol-native.c:133
impl::playback_info
struct spa_audio_info_raw playback_info
Definition: module-filter-chain.c:241
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:291
node::desc
struct descriptor * desc
Definition: module-filter-chain.c:159
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:72
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:1519
MIN_FLUSH
#define MIN_FLUSH
Definition: module-profiler.c:51
node::config
char * config
Definition: module-filter-chain.c:162
module_roc_source_data::work
struct pw_work_queue * work
Definition: module-roc-source.c:94
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-simple.c:801
SERVICE_TYPE_SOURCE
#define SERVICE_TYPE_SOURCE
Definition: module-zeroconf-discover.c:64
pw_rtkit_bus_get_system
struct pw_rtkit_bus * pw_rtkit_bus_get_system(void)
Definition: module-rtkit.c:144
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:253
descriptor::n_control
uint32_t n_control
Definition: module-filter-chain.c:131
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:473
metadata
Definition: impl-metadata.c:43
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:115
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:63
factory_data::export_spanode
struct pw_export_type export_spanode
Definition: module-client-node.c:65
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:560
module_roc_sink_data::capture_props
struct pw_properties * capture_props
Definition: module-roc-sink.c:101
spa_zero
#define spa_zero(x)
Definition: defs.h:303
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:209
pw_global_is_type
bool pw_global_is_type(struct pw_global *global, const char *type)
Check a global type.
Definition: global.c:191
impl::lock
pthread_mutex_t lock
Definition: module-rtkit.c:86
SPA_PROP_params
@ SPA_PROP_params
simple control params (Struct( (String : key, Pod : value)*))
Definition: props.h:110
impl::play_buffer
void * play_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:162
control
Definition: stream.c:86
SPA_TYPE_INTERFACE_Device
#define SPA_TYPE_INTERFACE_Device
Definition: build-12775836/doc/spa/monitor/device.h:50
UNIX_PATH_MAX
#define UNIX_PATH_MAX
Definition: module-protocol-native.c:73
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:89
client::connected
unsigned int connected
Definition: module-protocol-native.c:114
module_roc_source_data::local_repair_addr
roc_address local_repair_addr
Definition: module-roc-source.c:112
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:125
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:238
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:551
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:173
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:1963
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:622
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:522
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:212
DEFAULT_POLICY
#define DEFAULT_POLICY
Definition: module-rt.c:48
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:727
impl::plugin_list
struct spa_list plugin_list
Definition: module-filter-chain.c:231
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-rt.c:244
spa_pod_builder_callbacks
Definition: builder.h:56
DEFAULT_LATENCY_USEC
#define DEFAULT_LATENCY_USEC
Definition: module-pulse-tunnel.c:82
module_roc_source_data
Definition: module-roc-source.c:92
client::paused
unsigned int paused
Definition: module-protocol-native.c:117
pw_rtkit_make_realtime
int pw_rtkit_make_realtime(struct pw_rtkit_bus *connection, pid_t thread, int priority)
Definition: module-rtkit.c:322
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:1928
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:56
impl::pa_mainloop
pa_threaded_mainloop * pa_mainloop
Definition: module-pulse-tunnel.c:112
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:127
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: build-12775836/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:123
node::name
char name[256]
Definition: module-filter-chain.c:161
plugin::ref
int ref
Definition: pipewire.c:65
spa_type_audio_channel
const struct spa_type_info spa_type_audio_channel[]
Definition: param/audio/type-info.h:159
SPA_POD_Double
#define SPA_POD_Double(val)
Definition: vararg.h:76
resource_data
Definition: impl-core.c:74
pw_proxy_notify
#define pw_proxy_notify(p, type, event, version,...)
Definition: proxy.h:192
pw_protocol_client
Definition: protocol.h:53
name
const char * name
Definition: media-session.c:2379
MAX_BUFFER
#define MAX_BUFFER
Definition: module-profiler.c:50
factory_data::module
struct pw_impl_module * module
Definition: module-adapter.c:61
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-rtkit.c:670
pw_core_events::error
void(* error)(void *object, uint32_t id, int seq, int res, const char *message)
Fatal error event.
Definition: core.h:161
string.h
LOCK_SUFFIX
#define LOCK_SUFFIX
Definition: module-protocol-native.c:89
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_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:156
DEFAULT_CHANNELS
#define DEFAULT_CHANNELS
Definition: module-protocol-simple.c:62
TMP_BUFFER
#define TMP_BUFFER
Definition: module-profiler.c:49
impl::stream_props
struct pw_properties * stream_props
Definition: module-example-sink.c:92
DEFAULT_CHANNELS
#define DEFAULT_CHANNELS
Definition: module-example-sink.c:58
pw_stream_state
pw_stream_state
The state of a stream.
Definition: stream.h:167
find_node::name
const char * name
Definition: module-link-factory.c:300
PW_STREAM_FLAG_RT_PROCESS
@ PW_STREAM_FLAG_RT_PROCESS
call process from the realtime thread.
Definition: stream.h:256
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:158
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:66
impl::data
uint8_t data[MAX_BUFFER]
Definition: module-profiler.c:87
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:230
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:87
NAME
#define NAME
Definition: module-client-device.c:38
module_roc_source_data::receiver
roc_receiver * receiver
Definition: module-roc-source.c:114
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:103
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:299
resource_data::resource_listener
struct spa_hook resource_listener
Definition: impl-core.c:76
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:87
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:73
plugin::type
char type[64]
Definition: module-filter-chain.c:114
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:114
pw_resource_get_permissions
uint32_t pw_resource_get_permissions(struct pw_resource *resource)
Get the permissions of this resource.
Definition: resource.c:139
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:443
pw_impl_factory_get_user_data
void * pw_impl_factory_get_user_data(struct pw_impl_factory *factory)
Definition: impl-factory.c:226
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:157
impl::rt_prio
int rt_prio
Definition: module-rt.c:77
pw_proxy_events::destroy
void(* destroy)(void *data)
The proxy is destroyed.
Definition: proxy.h:116
impl::rt_time_soft
rlim_t rt_time_soft
Definition: module-rt.c:78
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:72
SPA_EXPORT
#define SPA_EXPORT
Definition: defs.h:208
SPA_DIRECTION_INPUT
@ SPA_DIRECTION_INPUT
Definition: defs.h:79
thread
Definition: module-rtkit.c:70
find_port
Definition: module-link-factory.c:208
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:110
impl::seq
int seq
Definition: policy-ep.c:65
impl::portal_pid_pending
DBusPendingCall * portal_pid_pending
Definition: module-portal.c:94
module.h
pw_log_trace
#define pw_log_trace(...)
Definition: src/pipewire/log.h:90
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:700
port::audio_data
float * audio_data[MAX_HNDL]
Definition: module-filter-chain.c:152
LOCK_SUFFIXLEN
#define LOCK_SUFFIXLEN
Definition: module-protocol-native.c:90
SPA_ROUND_UP_N
#define SPA_ROUND_UP_N(num, align)
Definition: defs.h:223
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:103
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:155
impl::capture_ready
unsigned int capture_ready
Definition: module-echo-cancel.c:175
spa_source::fd
int fd
Definition: build-12775836/doc/spa/support/loop.h:62
device
Definition: alsa-monitor.c:82
node
Definition: module-filter-chain.c:155
client_data::client
struct pw_impl_client * client
Definition: module-protocol-native.c:140
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-echo-cancel.c:812
thread::arg
void * arg
Definition: module-rtkit.c:76
PW_VERSION_STREAM_EVENTS
#define PW_VERSION_STREAM_EVENTS
Definition: stream.h:212
DEFAULT_NICE_LEVEL
#define DEFAULT_NICE_LEVEL
Definition: module-rt.c:50
pw_get_user_name
const char * pw_get_user_name(void)
Get the user name.
Definition: pipewire.c:663
impl::playback_listener
struct spa_hook playback_listener
Definition: module-echo-cancel.c:158
descriptor::input
unsigned long input[MAX_PORTS]
Definition: module-filter-chain.c:133
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-roc-sink.c:372
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:97
impl::source_browser
AvahiServiceBrowser * source_browser
Definition: module-zeroconf-discover.c:79
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:83
tunnel_info::domain
const char * domain
Definition: module-zeroconf-discover.c:91
spa_dbus
Definition: dbus.h:42
spa_thread_utils
Definition: build-12775836/doc/spa/support/thread.h:52
server::lock_addr
char lock_addr[UNIX_PATH_MAX+LOCK_SUFFIXLEN]
Definition: module-protocol-native.c:131
protocol_data::module
struct pw_impl_module * module
Definition: module-protocol-native.c:96
NAME
#define NAME
Definition: module-access.c:125
graph::n_output
uint32_t n_output
Definition: module-filter-chain.c:206
pw_proxy_destroy
void pw_proxy_destroy(struct pw_proxy *proxy)
destroy a proxy
Definition: proxy.c:229
strdupa
#define strdupa(s)
Definition: src/pipewire/utils.h:79
DEFAULT_CHANNELS
#define DEFAULT_CHANNELS
Definition: module-example-source.c:58
plugin::descriptor_list
struct spa_list descriptor_list
Definition: module-filter-chain.c:118
impl::props
struct pw_properties * props
Definition: module-example-sink.c:81
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:666
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:54
protocol_data::protocol
struct pw_protocol * protocol
Definition: module-protocol-native.c:98
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
node.h
SERVER_TYPE_INET
#define SERVER_TYPE_INET
Definition: module-protocol-simple.c:131
pw_module_methods::version
uint32_t version
Definition: module.h:83
graph::silence_data
float silence_data[MAX_SAMPLES]
Definition: module-filter-chain.c:215
pw_rtkit_get_max_realtime_priority
int pw_rtkit_get_max_realtime_priority(struct pw_rtkit_bus *connection)
Definition: module-rtkit.c:293
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:316
PW_KEY_CORE_DAEMON
#define PW_KEY_CORE_DAEMON
If the core is listening for connections.
Definition: src/pipewire/keys.h:86
SPA_VERSION_THREAD_UTILS_METHODS
#define SPA_VERSION_THREAD_UTILS_METHODS
Definition: build-12775836/doc/spa/support/thread.h:56
spa_list
Definition: list.h:37
client::playback
struct pw_stream * playback
Definition: module-protocol-simple.c:116
impl::core_listener
struct spa_hook core_listener
Definition: module-echo-cancel.c:143
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:108
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:573
pw_global_get_properties
const struct pw_properties * pw_global_get_properties(struct pw_global *global)
Get the global properties.
Definition: global.c:203
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-client-node.c:152
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:130
pw_module_info::id
uint32_t id
id of the global
Definition: module.h:44
SPA_PTROFF
#define SPA_PTROFF(ptr_, offset_, type_)
Return the address (buffer + offset) as pointer of type.
Definition: defs.h:159
module_roc_sink_data::do_disconnect
unsigned int do_disconnect
Definition: module-roc-sink.c:103
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:101
impl::portal_pid
pid_t portal_pid
Definition: module-portal.c:95
impl::sink_ready
unsigned int sink_ready
Definition: module-echo-cancel.c:176
tunnel::module
struct pw_impl_module * module
Definition: module-zeroconf-discover.c:99
graph
Definition: module-filter-chain.c:197
module_roc_source_data::playback_listener
struct spa_hook playback_listener
Definition: module-roc-source.c:104
spa_thread_utils_methods
thread utils
Definition: build-12775836/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:108
module_roc_source_data::sess_latency_msec
int sess_latency_msec
Definition: module-roc-source.c:120
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:286
NAME
#define NAME
Definition: module-metadata.c:40
DEFAULT_SERVER
#define DEFAULT_SERVER
Definition: module-protocol-simple.c:58
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-native.c:1294
NAME
#define NAME
Definition: module-protocol-native.c:70
client_data::protocol_link
struct spa_list protocol_link
Definition: module-protocol-native.c:143
module_roc_sink_data::local_addr
roc_address local_addr
Definition: module-roc-sink.c:106
pw_permission
Definition: permission.h:64
impl::id
uint32_t id
Definition: module-echo-cancel.c:139
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:86
node_data::linger
unsigned int linger
Definition: module-adapter.c:75
MODE_CAPTURE
#define MODE_CAPTURE
Definition: module-pulse-tunnel.c:88
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:111
SPA_TYPE_OBJECT_Profiler
@ SPA_TYPE_OBJECT_Profiler
Definition: build-12775836/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:371
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:96
props
const char * props
Definition: media-session.c:2382
pw_global_get_object
void * pw_global_get_object(struct pw_global *global)
Get the object associated with the global.
Definition: global.c:218
MODULE_USAGE
#define MODULE_USAGE
Definition: module-example-sink.c:61
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-access.c:364
pw_rtkit_get_rttime_usec_max
long long pw_rtkit_get_rttime_usec_max(struct pw_rtkit_bus *connection)
Definition: module-rtkit.c:313
SPA_INTERFACE_INIT
#define SPA_INTERFACE_INIT(_type, _version, _funcs, _data)
Initialize a spa_interface.
Definition: hook.h:165
impl::info
struct spa_audio_info_raw info
Definition: module-echo-cancel.c:145
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:176
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:114
pod.h
spa_pod_builder::data
void * data
Definition: builder.h:64
graph_port::hndl
void * hndl
Definition: module-filter-chain.c:188
endpoint_link_factory_init
int endpoint_link_factory_init(struct pw_impl_module *module)
impl.h
spa_source
Definition: build-12775836/doc/spa/support/loop.h:58
metadata::metadata
struct pw_metadata * metadata
Definition: metadata.c:41
spa_loop
Definition: build-12775836/doc/spa/support/loop.h:44
spa_audio_info_raw::channels
uint32_t channels
Definition: audio/raw.h:289
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:109
impl::flushing
unsigned int flushing
Definition: module-profiler.c:82
find_port::port
struct pw_impl_port * port
Definition: module-link-factory.c:213
impl::rate
uint32_t rate
Definition: module-filter-chain.c:246
spa_dict_item
Definition: utils/dict.h:41
impl::avahi_poll
AvahiPoll * avahi_poll
Definition: module-zeroconf-discover.c:76
find_port::direction
enum spa_direction direction
Definition: module-link-factory.c:211
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:60
SPA_CONTAINER_OF
#define SPA_CONTAINER_OF(p, t, m)
Definition: defs.h:170
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-filter-chain.c:1625
DEFAULT_POSITION
#define DEFAULT_POSITION
Definition: module-example-sink.c:59
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:356
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:401
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:76
descriptor::plugin
struct plugin * plugin
Definition: module-filter-chain.c:124
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:212
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:238
graph::input
struct graph_port input[MAX_PORTS]
Definition: module-filter-chain.c:204
pw_impl_module_destroy
void pw_impl_module_destroy(struct pw_impl_module *module)
Destroy a module.
Definition: impl-module.c:293
spa_list_consume
#define spa_list_consume(pos, head, member)
Definition: list.h:96
impl-client.h
graph_port
Definition: module-filter-chain.c:186
SPA_TYPE_INTERFACE_Node
#define SPA_TYPE_INTERFACE_Node
Definition: build-12775836/doc/spa/node/node.h:50
pw_protocol_server::core
struct pw_impl_core * core
Definition: protocol.h:81
plugin::plugin
struct fc_plugin * plugin
Definition: module-filter-chain.c:117
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: build-12775836/doc/spa/support/thread.h:52
DEFAULT_RT_TIME_SOFT
#define DEFAULT_RT_TIME_SOFT
Definition: module-rtkit.c:53
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:127
client::obj
struct sm_client * obj
Definition: access-flatpak.c:52
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:619
impl::tunnel_list
struct spa_list tunnel_list
Definition: module-zeroconf-discover.c:81
port::port
struct pw_port * port
Definition: filter.c:96
impl::count
int64_t count
Definition: module-profiler.c:78
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:357
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:665
impl::core_proxy_listener
struct spa_hook core_proxy_listener
Definition: module-echo-cancel.c:142
spa_type_info::name
const char * name
Definition: build-12775836/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:189
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.
Definition: introspect.c:330
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:71
find_node
Definition: module-link-factory.c:298
client::ref
int ref
Definition: module-protocol-native.c:112
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:1249
RINGBUFFER_SIZE
#define RINGBUFFER_SIZE
Definition: module-pulse-tunnel.c:79
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:255
spa_chunk::offset
uint32_t offset
offset of valid data.
Definition: buffer/buffer.h:58
MODULE_USAGE
#define MODULE_USAGE
Definition: module-rtkit.c:56
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:86
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:417
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:301
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:276
descriptor::default_control
float default_control[MAX_PORTS]
Definition: module-filter-chain.c:137
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:2017
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:64
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:130
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:54
impl::sink_props
struct pw_properties * sink_props
Definition: module-echo-cancel.c:159
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:94
impl::module
struct pw_impl_module * module
Definition: module-echo-cancel.c:135
port
Definition: buffers.c:44
impl::playback
bool playback
Definition: module-protocol-simple.c:96
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:1637
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:277
MAX_SAMPLES
#define MAX_SAMPLES
Definition: module-filter-chain.c:109
ROC_DEFAULT_SOURCE_PORT
#define ROC_DEFAULT_SOURCE_PORT
Definition: module-roc-source.c:88
tunnel_info::name
const char * name
Definition: module-zeroconf-discover.c:89
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:55
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:161
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:636
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:130
spa_debug_mem
int spa_debug_mem(int indent, const void *data, size_t size)
Definition: build-12775836/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:109
impl::context_listener
struct spa_hook context_listener
Definition: module-access.c:143
impl::system_bus
struct pw_rtkit_bus * system_bus
Definition: module-rtkit.c:84
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:136
impl::source_props
struct pw_properties * source_props
Definition: module-echo-cancel.c:149
pw_proxy_unref
void pw_proxy_unref(struct pw_proxy *proxy)
Definition: proxy.c:290
spa_buffer
A Buffer.
Definition: buffer/buffer.h:93
graph_port::port
uint32_t port
Definition: module-filter-chain.c:189
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:151
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:108
plugin
Definition: pipewire.c:59
MODULE_USAGE
#define MODULE_USAGE
Definition: module-zeroconf-discover.c:54
ROC_DEFAULT_IP
#define ROC_DEFAULT_IP
Definition: module-roc-source.c:87
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
_
#define _(String)
Definition: src/pipewire/i18n.h:37
descriptor
Definition: module-filter-chain.c:121
impl::flush_timeout
struct spa_source * flush_timeout
Definition: module-profiler.c:81
MODE_PLAYBACK
#define MODE_PLAYBACK
Definition: module-pulse-tunnel.c:87
PW_KEY_NODE_NAME
#define PW_KEY_NODE_NAME
node name
Definition: src/pipewire/keys.h:138
spa_hook
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:295
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:1359
node_data::data
struct factory_data * data
Definition: module-adapter.c:66
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-protocol-pulse.c:84
pw_get_host_name
const char * pw_get_host_name(void)
Get the host name.
Definition: pipewire.c:675
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:131
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:92
graph_hndl
Definition: module-filter-chain.c:192
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:85
pw_resource_errorf
void pw_resource_errorf(struct pw_resource *resource, int res, const char *error,...) 1(3
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:302
factory_data::export_metadata
struct pw_export_type export_metadata
Definition: module-metadata.c:63
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:73
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:91
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:268
SPA_IO_OUT
#define SPA_IO_OUT
Definition: system.h:56
client::playback_listener
struct spa_hook playback_listener
Definition: module-protocol-simple.c:117
descriptor::notify
unsigned long notify[MAX_PORTS]
Definition: module-filter-chain.c:136
SPA_AUDIO_CHANNEL_FL
@ SPA_AUDIO_CHANNEL_FL
front left
Definition: audio/raw.h:174
port::link_list
struct spa_list link_list
Definition: module-filter-chain.c:147
SPA_AUDIO_FORMAT_S24
@ SPA_AUDIO_FORMAT_S24
Definition: audio/raw.h:111
impl::capture
struct pw_stream * capture
Definition: module-echo-cancel.c:147
graph::impl
struct impl * impl
Definition: module-filter-chain.c:198
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:329
impl::capture
bool capture
Definition: module-protocol-simple.c:95
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:650
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:165
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-adapter.c:312
impl::loop
struct pw_loop * loop
Definition: module-protocol-simple.c:86
SPA_VERSION_THREAD_UTILS
#define SPA_VERSION_THREAD_UTILS
Definition: build-12775836/doc/spa/support/thread.h:51
tunnel_info::protocol
AvahiProtocol protocol
Definition: module-zeroconf-discover.c:88
module_roc_sink_data::capture
struct pw_stream * capture
Definition: module-roc-sink.c:99
factory_data::link_list
struct spa_list link_list
Definition: module-link-factory.c:59
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:108
module_roc_sink_data::remote_ip
char * remote_ip
Definition: module-roc-sink.c:113
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:2381
impl::mode
uint32_t mode
Definition: module-pulse-tunnel.c:89
descriptor::n_input
uint32_t n_input
Definition: module-filter-chain.c:129
port::external
uint32_t external
Definition: module-filter-chain.c:149
impl::capture_props
struct pw_properties * capture_props
Definition: module-filter-chain.c:233
node::input_port
struct port input_port[MAX_PORTS]
Definition: module-filter-chain.c:164
pw_impl_factory_register
int pw_impl_factory_register(struct pw_impl_factory *factory, struct pw_properties *properties)
Definition: impl-factory.c:176
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:172
pw_core_disconnect
int pw_core_disconnect(struct pw_core *core)
disconnect and destroy a core
Definition: core.c:488
metadata::impl
struct pw_impl_metadata * impl
Definition: metadata.c:40
metadata::session
struct sm_media_session * session
Definition: metadata.c:43
protocol_data::module_listener
struct spa_hook module_listener
Definition: module-protocol-native.c:97
pw_export_type::link
struct spa_list link
Definition: context.h:148
server::resume
struct spa_source * resume
Definition: module-protocol-native.c:135
client::context
struct pw_context * context
Definition: module-protocol-native.c:105
impl::graph
struct graph graph
Definition: module-filter-chain.c:248
spa_io_clock::duration
uint64_t duration
duration of current cycle
Definition: io.h:142
node_data
Definition: module-adapter.c:65
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:1602
DEFAULT_FORMAT
#define DEFAULT_FORMAT
Definition: module-protocol-simple.c:60
node_data::adapter
struct pw_impl_node * adapter
Definition: module-adapter.c:68
DEFAULT_FORMAT
#define DEFAULT_FORMAT
Definition: module-example-source.c:56
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_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:116
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:76
pw_module_events
Module events.
Definition: module.h:66
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:141
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:96
spa_dict
Definition: utils/dict.h:48
impl::sink
struct pw_stream * sink
Definition: module-echo-cancel.c:160
server::activated
unsigned int activated
Definition: module-protocol-native.c:136
protocol_data::local
struct server * local
Definition: module-protocol-native.c:100
i18n.h
DEFAULT_RT_PRIO
#define DEFAULT_RT_PRIO
Definition: module-rt.c:51
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:926
ROC_DEFAULT_REPAIR_PORT
#define ROC_DEFAULT_REPAIR_PORT
Definition: module-roc-source.c:89
DEFAULT_POSITION
#define DEFAULT_POSITION
Definition: module-protocol-simple.c:63
pw_context_find_protocol
struct pw_protocol * pw_context_find_protocol(struct pw_context *context, const char *name)
Definition: protocol.c:179
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:146
find_port::id
uint32_t id
Definition: module-link-factory.c:209
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:95
SO_PEERSEC
#define SO_PEERSEC
Definition: module-protocol-native.c:84
DEFAULT_RT_TIME_HARD
#define DEFAULT_RT_TIME_HARD
Definition: module-rt.c:53
pw_protocol_native_ext_client_node_init
struct pw_protocol * pw_protocol_native_ext_client_node_init(struct pw_context *context)
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: build-12775836/doc/spa/support/thread.h:50
impl::server_list
struct spa_list server_list
Definition: module-protocol-simple.c:91
graph::link_list
struct spa_list link_list
Definition: module-filter-chain.c:201
MAX_PORTS
#define MAX_PORTS
Definition: module-filter-chain.c:107
graph::hndl
struct graph_hndl hndl[MAX_HNDL]
Definition: module-filter-chain.c:210
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:80
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:110
client::rate_match
struct spa_io_rate_match * rate_match
Definition: module-protocol-simple.c:119
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-loopback.c:392
DEFAULT_LATENCY
#define DEFAULT_LATENCY
Definition: module-protocol-simple.c:64
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:79
proxy.h
impl::source_listener
struct spa_hook source_listener
Definition: module-echo-cancel.c:151
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: build-12775836/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
impl::rec_ring
struct spa_ringbuffer rec_ring
Definition: module-echo-cancel.c:154
impl::thread_utils
struct spa_thread_utils thread_utils
Definition: module-rt.c:75
node_data::follower
struct pw_impl_node * follower
Definition: module-adapter.c:69
node::graph
struct graph * graph
Definition: module-filter-chain.c:157
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:581
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:83
tunnel::module_listener
struct spa_hook module_listener
Definition: module-zeroconf-discover.c:100
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
factory_data::module_listener
struct spa_hook module_listener
Definition: module-adapter.c:62
client::name
char name[512]
Definition: module-protocol-simple.c:111
PW_PERMISSION_INIT
#define PW_PERMISSION_INIT(id, p)
Definition: permission.h:69
pw_debug_is_category_enabled
bool pw_debug_is_category_enabled(const char *name)
Check if a debug category is enabled.
Definition: pipewire.c:594
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-zeroconf-discover.c:475
impl::rec_ringsize
uint32_t rec_ringsize
Definition: module-echo-cancel.c:153
node::n_hndl
uint32_t n_hndl
Definition: module-filter-chain.c:169
raw.h
SPA_MEMBER
#define SPA_MEMBER(b, o, t)
Deprecated, use SPA_PTROFF and SPA_PTROFF_ALIGN instead.
Definition: defs.h:167
PW_VERSION_CORE_EVENTS
#define PW_VERSION_CORE_EVENTS
Definition: core.h:115
module_roc_source_data::local_repair_port
int local_repair_port
Definition: module-roc-source.c:119
impl::threads_list
struct spa_list threads_list
Definition: module-rtkit.c:89
module_roc_source_data::local_addr
roc_address local_addr
Definition: module-roc-source.c:110
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:293
ROC_DEFAULT_SESS_LATENCY
#define ROC_DEFAULT_SESS_LATENCY
Definition: module-roc-source.c:90
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:61
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:107
result.h
impl::work
struct pw_work_queue * work
Definition: module-echo-cancel.c:136
NAME
#define NAME
Definition: module-pulse-tunnel.c:57
module_roc_sink_data::unloading
unsigned int unloading
Definition: module-roc-sink.c:104
server::this
struct pw_protocol_server this
Definition: module-protocol-native.c:127
pw_profiler_resource_profile
#define pw_profiler_resource_profile(r,...)
Definition: module-profiler.c:60
SPA_IO_IN
#define SPA_IO_IN
Definition: system.h:55
thread::impl
struct impl * impl
Definition: module-rtkit.c:71
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:43
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:127
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:165
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:365
SPA_TYPE_OBJECT_Props
@ SPA_TYPE_OBJECT_Props
Definition: build-12775836/doc/spa/utils/type.h:89
SPA_AUDIO_FORMAT_S24P
@ SPA_AUDIO_FORMAT_S24P
Definition: audio/raw.h:88
module_roc_source_data::local_source_port
int local_source_port
Definition: module-roc-source.c:118
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:1430
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:151
SPA_IO_HUP
#define SPA_IO_HUP
Definition: system.h:58
graph::discard_data
float discard_data[MAX_SAMPLES]
Definition: module-filter-chain.c:216
pw_log_debug
#define pw_log_debug(...)
Definition: src/pipewire/log.h:89
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:646
tunnel::info
struct tunnel_info info
Definition: module-zeroconf-discover.c:98
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:379
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-example-sink.c:363
impl::play_ringsize
uint32_t play_ringsize
Definition: module-echo-cancel.c:163
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-metadata.c:156
impl::buffer
struct spa_ringbuffer buffer
Definition: module-profiler.c:85
SPA_AUDIO_FORMAT_S16
@ SPA_AUDIO_FORMAT_S16
Definition: audio/raw.h:105
client
Definition: module-protocol-native.c:103
PW_KEY_LINK_OUTPUT_NODE
#define PW_KEY_LINK_OUTPUT_NODE
output node id of a link
Definition: src/pipewire/keys.h:200
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:107
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:109
factory_data::node_list
struct spa_list node_list
Definition: module-adapter.c:58
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:126
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
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:57
client_data::busy
unsigned int busy
Definition: module-protocol-native.c:150
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:82
pw_global_destroy
void pw_global_destroy(struct pw_global *global)
Destroy a global.
Definition: global.c:369
spa_list_first
#define spa_list_first(head, type, member)
Definition: list.h:75
DEFAULT_POSITION
#define DEFAULT_POSITION
Definition: module-example-source.c:59
module_roc_source_data::module_context
struct pw_context * module_context
Definition: module-roc-source.c:97
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:187
SPA_MIN
#define SPA_MIN(a, b)
Definition: defs.h:123
SPA_AUDIO_CHANNEL_UNKNOWN
@ SPA_AUDIO_CHANNEL_UNKNOWN
unspecified
Definition: audio/raw.h:169
PW_VERSION_GLOBAL_EVENTS
#define PW_VERSION_GLOBAL_EVENTS
Definition: global.h:69
SPA_ID_INVALID
#define SPA_ID_INVALID
Definition: defs.h:182
impl::tmp
uint8_t tmp[TMP_BUFFER]
Definition: module-profiler.c:86
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:80
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:301
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:76
spa_audio_info_raw::position
uint32_t position[SPA_AUDIO_MAX_CHANNELS]
Definition: audio/raw.h:290
MAX_CLIENTS
#define MAX_CLIENTS
Definition: module-protocol-simple.c:66
server::type
uint32_t type
Definition: module-protocol-simple.c:132
PW_ID_ANY
#define PW_ID_ANY
Definition: core.h:69
impl::bus
DBusConnection * bus
Definition: module-portal.c:89
SPA_AUDIO_CHANNEL_FR
@ SPA_AUDIO_CHANNEL_FR
front right
Definition: audio/raw.h:175
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:134
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:52
pw_impl_factory_implementation
Definition: impl-factory.h:62
graph_hndl::hndl
void * hndl
Definition: module-filter-chain.c:194
FACTORY_USAGE
#define FACTORY_USAGE
Definition: module-adapter.c:45
MAX_BUFSIZE_MS
#define MAX_BUFSIZE_MS
Definition: module-echo-cancel.c:115
DEFAULT_INTERVAL
#define DEFAULT_INTERVAL
Definition: module-profiler.c:53
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:99
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:104
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:97
impl::pa_context
pa_context * pa_context
Definition: module-pulse-tunnel.c:113
sm_media_session_export_metadata
struct pw_metadata * sm_media_session_export_metadata(struct sm_media_session *sess, const char *name)
Definition: metadata.c:64
client::source
struct spa_source * source
Definition: module-protocol-native.c:107
node::notify_port
struct port notify_port[MAX_PORTS]
Definition: module-filter-chain.c:167
factory_data::this
struct pw_impl_factory * this
Definition: module-adapter.c:56
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
impl::capture_listener
struct spa_hook capture_listener
Definition: module-echo-cancel.c:148
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:137
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:255
module_roc_sink_data::work
struct pw_work_queue * work
Definition: module-roc-sink.c:90
MODULE_USAGE
#define MODULE_USAGE
Definition: module-access.c:127
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:115
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:87
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:100
pw_module_info::name
const char * name
name of the module
Definition: module.h:45
server
Definition: module-protocol-native.c:126
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:232
spa_io_clock::rate
struct spa_fraction rate
rate for position/duration/delay
Definition: io.h:140
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:534
metadata::proxy
struct pw_proxy * proxy
Definition: metadata.c:45
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:141
node::type
uint32_t type
Definition: policy-node.c:116
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-profiler.c:353
resource_data::impl
struct pw_impl_metadata * impl
Definition: impl-metadata.c:253
server::source
struct spa_source * source
Definition: module-protocol-native.c:134
tunnel_info::type
const char * type
Definition: module-zeroconf-discover.c:90
module_roc_sink_data::core
struct pw_core * core
Definition: module-roc-sink.c:95
json.h
module_roc_sink_data::module_context
struct pw_context * module_context
Definition: module-roc-sink.c:93
context.h
descriptor::n_notify
uint32_t n_notify
Definition: module-filter-chain.c:132
SPA_JSON_SAVE
#define SPA_JSON_SAVE(iter)
Definition: json.h:70
SPA_AUDIO_FORMAT_F64
@ SPA_AUDIO_FORMAT_F64
Definition: audio/raw.h:118
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:63
impl::unloading
unsigned int unloading
Definition: module-echo-cancel.c:179
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:105
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-example-source.c:383
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:1243
tunnel
Definition: module-zeroconf-discover.c:96
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:60
module_roc_sink_data::remote_repair_port
int remote_repair_port
Definition: module-roc-sink.c:115
client::core
struct pw_core * core
Definition: module-protocol-simple.c:107
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:70
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:116
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:195
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:577
module_roc_source_data::local_ip
char * local_ip
Definition: module-roc-source.c:117
RLIMIT_RTTIME
#define RLIMIT_RTTIME
Definition: module-rtkit.c:135
defs.h
spa_hook_remove
void spa_hook_remove(struct spa_hook *hook)
Remove a hook.
Definition: hook.h:336
pw_impl_metadata_destroy
void pw_impl_metadata_destroy(struct pw_impl_metadata *metadata)
Definition: impl-metadata.c:346
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:159
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:173
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:144
find_port::name
const char * name
Definition: module-link-factory.c:210
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:145
module_roc_sink_data::local_ip
char * local_ip
Definition: module-roc-sink.c:112
pw_log_info
#define pw_log_info(...)
Definition: src/pipewire/log.h:88
pw_module_events::version
uint32_t version
Definition: module.h:68
node::n_deps
unsigned int n_deps
Definition: module-filter-chain.c:172
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:117
client::capture
struct pw_stream * capture
Definition: module-protocol-simple.c:113
node_data::bound_resource
struct pw_resource * bound_resource
Definition: module-adapter.c:72
DEFAULT_PORT
#define DEFAULT_PORT
Definition: module-protocol-simple.c:57
pw_impl_node_destroy
void pw_impl_node_destroy(struct pw_impl_node *node)
Destroy a node.
Definition: impl-node.c:1707
SPA_AUDIO_FORMAT_F32P
@ SPA_AUDIO_FORMAT_F32P
Definition: audio/raw.h:89
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:1784
spa_type_audio_format
const struct spa_type_info spa_type_audio_format[]
Definition: param/audio/type-info.h:42
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:200
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:95
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:75
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:1692
PW_STREAM_STATE_STREAMING
@ PW_STREAM_STATE_STREAMING
streaming
Definition: stream.h:172
descriptor::label
char label[256]
Definition: module-filter-chain.c:125
module_roc_source_data::do_disconnect
unsigned int do_disconnect
Definition: module-roc-source.c:107
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:148
impl::play_ring
struct spa_ringbuffer play_ring
Definition: module-echo-cancel.c:164
SPA_TYPE_OBJECT_PropInfo
@ SPA_TYPE_OBJECT_PropInfo
Definition: build-12775836/doc/spa/utils/type.h:88
impl::out_buffer
void * out_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:167
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:88
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:169
SPA_AUDIO_FORMAT_S32
@ SPA_AUDIO_FORMAT_S32
Definition: audio/raw.h:109
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:139
graph::output
struct graph_port output[MAX_PORTS]
Definition: module-filter-chain.c:207
client::disconnect
unsigned int disconnect
Definition: module-protocol-simple.c:121
pw_module_events::info
void(* info)(void *object, const struct pw_module_info *info)
Notify module info.
Definition: module.h:74
client_data::connection
struct pw_protocol_native_connection * connection
Definition: module-protocol-native.c:147
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:2044
impl::busy
uint32_t busy
Definition: module-profiler.c:79
MODULE_USAGE
#define MODULE_USAGE
Definition: module-protocol-pulse.c:46
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:95
MODULE_USAGE
#define MODULE_USAGE
Definition: module-pulse-tunnel.c:59
SPA_AUDIO_FORMAT_S16P
@ SPA_AUDIO_FORMAT_S16P
Definition: audio/raw.h:85
DEFAULT_RATE
#define DEFAULT_RATE
Definition: module-example-source.c:57
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:165
node_data::new_id
uint32_t new_id
Definition: module-adapter.c:74
SPA_POD_Id
#define SPA_POD_Id(val)
Definition: vararg.h:56
DEFAULT_RATE
#define DEFAULT_RATE
Definition: module-protocol-simple.c:61
graph::n_input
uint32_t n_input
Definition: module-filter-chain.c:203
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:48
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:142
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:85
impl::sink_browser
AvahiServiceBrowser * sink_browser
Definition: module-zeroconf-discover.c:78
DEFAULT_IDLE
#define DEFAULT_IDLE
Definition: module-profiler.c:52
impl::source
struct pw_stream * source
Definition: module-echo-cancel.c:150
pw_global_get_id
uint32_t pw_global_get_id(struct pw_global *global)
Get the unique id of the global.
Definition: global.c:224
server::fd_lock
int fd_lock
Definition: module-protocol-native.c:129
SPA_UNLIKELY
#define SPA_UNLIKELY(x)
Definition: defs.h:235
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_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:44
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:114
pw_core_add_listener
#define pw_core_add_listener(c,...)
Definition: core.h:325
module_roc_sink_data::props
struct pw_properties * props
Definition: module-roc-sink.c:92
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:93
graph::control_port
struct port * control_port[MAX_CONTROLS]
Definition: module-filter-chain.c:213
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:323
data::id
const char * id
Definition: media-session.c:111
spa_pod_builder
Definition: builder.h:63
client_data::compat_v2
struct protocol_compat_v2 compat_v2
Definition: module-protocol-native.c:153
hook.h
RLIMIT_RTTIME
#define RLIMIT_RTTIME
Definition: module-rt.c:62
RTKIT_OBJECT_PATH
#define RTKIT_OBJECT_PATH
Definition: module-rtkit.c:132
impl::pulse
struct pw_protocol_pulse * pulse
Definition: module-protocol-pulse.c:60
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:540
impl::aec_info
const struct echo_cancel_info * aec_info
Definition: module-echo-cancel.c:171
module_roc_source_data::module
struct pw_impl_module * module
Definition: module-roc-source.c:93
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:153
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:81
resource_data::impl
struct impl * impl
Definition: module-profiler.c:93
client::link
struct spa_list link
link in impl client_list
Definition: module-protocol-simple.c:103
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:613
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:170
impl::rec_buffer
void * rec_buffer[SPA_AUDIO_MAX_CHANNELS]
Definition: module-echo-cancel.c:152
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:141
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:93
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:106
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:61
log.h
MODULE_USAGE
#define MODULE_USAGE
Definition: module-protocol-simple.c:68
DEFAULT_RT_PRIO
#define DEFAULT_RT_PRIO
Definition: module-rtkit.c:52
support
Definition: pipewire.c:80
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:144
pw_impl_metadata_get_implementation
struct pw_metadata * pw_impl_metadata_get_implementation(struct pw_impl_metadata *metadata)
Definition: impl-metadata.c:340
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:96
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-client-device.c:164
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:72
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:77
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:114
pipewire__module_init
int pipewire__module_init(struct pw_impl_module *module, const char *args)
Definition: module-portal.c:302
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:86
impl::do_disconnect
unsigned int do_disconnect
Definition: module-echo-cancel.c:178
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:546
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:341
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:144
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:552
desc
const char * desc
Definition: media-session.c:2380
impl::out_ringsize
uint32_t out_ringsize
Definition: module-echo-cancel.c:168
dict.h
node_data::link
struct spa_list link
Definition: module-adapter.c:67