PipeWire  0.3.51
graph.h File Reference

spa/graph/graph.h More...

Go to the source code of this file.

Data Structures

struct  spa_graph_state
struct  spa_graph_link
struct  spa_graph
struct  spa_graph_node_callbacks
struct  spa_graph_node
struct  spa_graph_port


#define spa_debug(...)
#define spa_graph_link_signal(l)   ((l)->signal((l)->signal_data))
#define spa_graph_state_dec(s, c)   (__atomic_sub_fetch(&(s)->pending, c, __ATOMIC_SEQ_CST) == 0)
#define spa_graph_node_call(n, method, version, ...)
#define spa_graph_node_process(n)   spa_graph_node_call(n, process, 0, n)
#define spa_graph_node_reuse_buffer(n, p, i)   spa_graph_node_call(n, reuse_buffer, 0, n, p, i)


static void spa_graph_state_reset (struct spa_graph_state *state)
static int spa_graph_link_trigger (struct spa_graph_link *link)
static int spa_graph_node_trigger (struct spa_graph_node *node)
static int spa_graph_run (struct spa_graph *graph)
static int spa_graph_finish (struct spa_graph *graph)
static int spa_graph_link_signal_node (void *data)
static int spa_graph_link_signal_graph (void *data)
static void spa_graph_init (struct spa_graph *graph, struct spa_graph_state *state)
static void spa_graph_link_add (struct spa_graph_node *out, struct spa_graph_state *state, struct spa_graph_link *link)
static void spa_graph_link_remove (struct spa_graph_link *link)
static void spa_graph_node_init (struct spa_graph_node *node, struct spa_graph_state *state)
static int spa_graph_node_impl_sub_process (void *data, struct spa_graph_node *node)
static void spa_graph_node_set_subgraph (struct spa_graph_node *node, struct spa_graph *subgraph)
static void spa_graph_node_set_callbacks (struct spa_graph_node *node, const struct spa_graph_node_callbacks *callbacks, void *data)
static void spa_graph_node_add (struct spa_graph *graph, struct spa_graph_node *node)
static void spa_graph_node_remove (struct spa_graph_node *node)
static void spa_graph_port_init (struct spa_graph_port *port, enum spa_direction direction, uint32_t port_id, uint32_t flags)
static void spa_graph_port_add (struct spa_graph_node *node, struct spa_graph_port *port)
static void spa_graph_port_remove (struct spa_graph_port *port)
static void spa_graph_port_link (struct spa_graph_port *out, struct spa_graph_port *in)
static void spa_graph_port_unlink (struct spa_graph_port *port)
static int spa_graph_node_impl_process (void *data, struct spa_graph_node *node)
static int spa_graph_node_impl_reuse_buffer (void *data, struct spa_graph_node *node, uint32_t port_id, uint32_t buffer_id)


static const struct spa_graph_node_callbacks spa_graph_node_sub_impl_default
static const struct spa_graph_node_callbacks spa_graph_node_impl_default

Detailed Description