Go to the documentation of this file.
20 #ifndef __PIPEWIRE_CONTROL_H__
21 #define __PIPEWIRE_CONTROL_H__
27 #define PW_TYPE__Control "PipeWire:Object:Control"
28 #define PW_TYPE_CONTROL_BASE PW_TYPE__Control ":"
30 #include <spa/utils/hook.h>
50 #define PW_VERSION_PORT_EVENTS 0
71 struct spa_hook *listener,
int pw_control_unlink(struct pw_control *control, struct pw_control *other)
Definition: control.c:205
#define PW_MEMBLOCK_FLAG_MAP_READWRITE
Definition: mem.h:39
SPA_EXPORT struct pw_port * pw_control_get_port(struct pw_control *control)
Get the control parent port or NULL when not set.
Definition: control.c:124
Port events, use pw_control_add_listener.
Definition: control.h:49
SPA_EXPORT int pw_control_link(struct pw_control *control, struct pw_control *other)
Definition: control.c:139
SPA_EXPORT int pw_memblock_alloc(enum pw_memblock_flags flags, size_t size, struct pw_memblock **mem)
Create a new memblock.
Definition: mem.c:154
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:130
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:130
void(* linked)(void *data, struct pw_control *other)
control is linked to another control
Definition: control.h:60
struct spa_type_map * map
the type mapper
Definition: type.h:52
struct pw_port * pw_control_get_port(struct pw_control *control)
Get the control parent port or NULL when not set.
Definition: control.c:124
PipeWire type support struct.
Definition: type.h:51
int pw_control_link(struct pw_control *control, struct pw_control *other)
Definition: control.c:139
static struct spa_pod * pw_spa_pod_copy(const struct spa_pod *pod)
Copy a pod structure.
Definition: utils.h:52
@ PW_MEMBLOCK_FLAG_SEAL
Definition: mem.h:33
uint32_t core
Definition: type.h:54
void * ptr
ptr to mapped memory
Definition: mem.h:47
void pw_control_destroy(struct pw_control *control)
Definition: control.c:85
SPA_EXPORT void pw_memblock_free(struct pw_memblock *mem)
Free a memblock.
Definition: mem.c:255
void(* destroy)(void *data)
The control is destroyed.
Definition: control.h:54
struct pw_control * pw_control_new(struct pw_core *core, struct pw_port *port, const struct spa_pod *param, size_t user_data_size)
Definition: control.c:32
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
@ PW_MEMBLOCK_FLAG_WITH_FD
Definition: mem.h:32
struct pw_memblock * mem
Definition: control.c:28
struct spa_type_param param
Definition: type.h:71
struct spa_type_param_io param_io
Definition: type.h:79
struct pw_control this
Definition: control.c:26
uint32_t port
Definition: type.h:57
void pw_log_warn(const char *format,...)
void pw_log_debug(const char *format,...)
SPA_EXPORT int pw_control_unlink(struct pw_control *control, struct pw_control *other)
Definition: control.c:205