Go to the documentation of this file.
25 #ifndef PIPEWIRE_CONTROL_H
26 #define PIPEWIRE_CONTROL_H
32 #include <spa/utils/hook.h>
50 #define PW_VERSION_CONTROL_EVENTS 0
71 struct spa_hook *listener,
@ PW_MEMBLOCK_FLAG_READWRITE
Definition: mem.h:44
static uint32_t int int res
Definition: core.h:326
static uint32_t id
Definition: core.h:325
#define NAME
Definition: control.c:31
@ PW_MEMBLOCK_FLAG_MAP
mmap the fd
Definition: mem.h:40
SPA_EXPORT struct pw_impl_port * pw_control_get_port(struct pw_control *control)
Get the control parent port or NULL when not set.
Definition: control.c:132
Port events, use pw_control_add_listener.
Definition: control.h:49
SPA_EXPORT void pw_control_add_listener(struct pw_control *control, struct spa_hook *listener, const struct pw_control_events *events, void *data)
Add an event listener on the control.
Definition: control.c:138
void pw_control_add_listener(struct pw_control *control, struct spa_hook *listener, const struct pw_control_events *events, void *data)
Add an event listener on the control.
Definition: control.c:138
struct pw_control * pw_control_new(struct pw_context *context, struct pw_impl_port *port, uint32_t id, uint32_t size, size_t user_data_size)
Definition: control.c:40
void(* linked)(void *data, struct pw_control *other)
control is linked to another control
Definition: control.h:60
SPA_EXPORT struct pw_memblock * pw_mempool_alloc(struct pw_mempool *pool, enum pw_memblock_flags flags, uint32_t type, size_t size)
Create a new memblock.
Definition: mem.c:460
void * ptr
mapped pointer
Definition: mem.h:82
struct spa_node * node
Definition: buffers.c:45
@ PW_MEMBLOCK_FLAG_SEAL
seal the fd
Definition: mem.h:39
void pw_control_destroy(struct pw_control *control)
Definition: control.c:94
uint32_t id
Definition: stream.c:82
#define pw_log_debug(...)
struct spa_list link
Definition: stream.c:85
void(* destroy)(void *data)
The control is destroyed.
Definition: control.h:54
SPA_EXPORT int pw_control_add_link(struct pw_control *control, uint32_t cmix, struct pw_control *other, uint32_t omix, struct pw_control_link *link)
Definition: control.c:166
struct pw_memmap * map
optional map when PW_MEMBLOCK_FLAG_MAP was given
Definition: mem.h:76
struct pw_impl_port * pw_control_get_port(struct pw_control *control)
Get the control parent port or NULL when not set.
Definition: control.c:132
uint32_t port_id
Definition: buffers.c:47
uint32_t version
Definition: control.h:51
void(* free)(void *data)
The control is freed.
Definition: control.h:57
void(* unlinked)(void *data, struct pw_control *other)
control is unlinked from another control
Definition: control.h:62
struct pw_memblock * mem
Definition: control.c:36
struct pw_control this
Definition: control.c:34
SPA_EXPORT int pw_control_remove_link(struct pw_control_link *link)
Definition: control.c:237
enum spa_direction direction
Definition: buffers.c:46