PipeWire 1.4.1
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Graph

Node graph More...

Files

file  graph.h
 spa/graph/graph.h
 

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
 

Macros

#define SPA_API_GRAPH   static inline
 
#define spa_debug(...)
 
#define spa_graph_link_signal(l)
 
#define spa_graph_state_dec(s)
 
#define SPA_VERSION_GRAPH_NODE_CALLBACKS   0
 
#define spa_graph_node_call(n, method, version, ...)
 
#define spa_graph_node_process(n)
 
#define spa_graph_node_reuse_buffer(n, p, i)
 

Functions

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

Variables

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

Node graph

Macro Definition Documentation

◆ SPA_API_GRAPH

#define SPA_API_GRAPH   static inline

◆ spa_debug

#define spa_debug ( ...)

◆ spa_graph_link_signal

#define spa_graph_link_signal ( l)
Value:
((l)->signal((l)->signal_data))

◆ spa_graph_state_dec

#define spa_graph_state_dec ( s)
Value:
(SPA_ATOMIC_DEC(s->pending) == 0)

◆ SPA_VERSION_GRAPH_NODE_CALLBACKS

#define SPA_VERSION_GRAPH_NODE_CALLBACKS   0

◆ spa_graph_node_call

#define spa_graph_node_call ( n,
method,
version,
... )

◆ spa_graph_node_process

#define spa_graph_node_process ( n)
Value:
spa_graph_node_call((n), process, 0, (n))
#define spa_graph_node_call(n, method, version,...)
Definition graph.h:121
Examples
spa/examples/adapter-control.c, and spa/examples/example-control.c.

◆ spa_graph_node_reuse_buffer

#define spa_graph_node_reuse_buffer ( n,
p,
i )
Value:
spa_graph_node_call((n), reuse_buffer, 0, (n), (p), (i))

Function Documentation

◆ spa_graph_state_reset()

SPA_API_GRAPH void spa_graph_state_reset ( struct spa_graph_state * state)

◆ spa_graph_link_trigger()

SPA_API_GRAPH int spa_graph_link_trigger ( struct spa_graph_link * link)

◆ spa_graph_node_trigger()

SPA_API_GRAPH int spa_graph_node_trigger ( struct spa_graph_node * node)

◆ spa_graph_run()

SPA_API_GRAPH int spa_graph_run ( struct spa_graph * graph)

◆ spa_graph_finish()

SPA_API_GRAPH int spa_graph_finish ( struct spa_graph * graph)

◆ spa_graph_link_signal_node()

SPA_API_GRAPH int spa_graph_link_signal_node ( void * data)

◆ spa_graph_link_signal_graph()

SPA_API_GRAPH int spa_graph_link_signal_graph ( void * data)

◆ spa_graph_init()

SPA_API_GRAPH void spa_graph_init ( struct spa_graph * graph,
struct spa_graph_state * state )

◆ spa_graph_link_add()

SPA_API_GRAPH void spa_graph_link_add ( struct spa_graph_node * out,
struct spa_graph_state * state,
struct spa_graph_link * link )

◆ spa_graph_link_remove()

SPA_API_GRAPH void spa_graph_link_remove ( struct spa_graph_link * link)

◆ spa_graph_node_init()

SPA_API_GRAPH void spa_graph_node_init ( struct spa_graph_node * node,
struct spa_graph_state * state )

◆ spa_graph_node_impl_sub_process()

SPA_API_GRAPH int spa_graph_node_impl_sub_process ( void * data,
struct spa_graph_node * node )

◆ spa_graph_node_set_subgraph()

SPA_API_GRAPH void spa_graph_node_set_subgraph ( struct spa_graph_node * node,
struct spa_graph * subgraph )

◆ spa_graph_node_set_callbacks()

SPA_API_GRAPH void spa_graph_node_set_callbacks ( struct spa_graph_node * node,
const struct spa_graph_node_callbacks * callbacks,
void * data )

◆ spa_graph_node_add()

SPA_API_GRAPH void spa_graph_node_add ( struct spa_graph * graph,
struct spa_graph_node * node )

◆ spa_graph_node_remove()

SPA_API_GRAPH void spa_graph_node_remove ( struct spa_graph_node * node)

◆ spa_graph_port_init()

SPA_API_GRAPH void spa_graph_port_init ( struct spa_graph_port * port,
enum spa_direction direction,
uint32_t port_id,
uint32_t flags )

◆ spa_graph_port_add()

SPA_API_GRAPH void spa_graph_port_add ( struct spa_graph_node * node,
struct spa_graph_port * port )

◆ spa_graph_port_remove()

SPA_API_GRAPH void spa_graph_port_remove ( struct spa_graph_port * port)

◆ spa_graph_port_link()

SPA_API_GRAPH void spa_graph_port_link ( struct spa_graph_port * out,
struct spa_graph_port * in )

◆ spa_graph_port_unlink()

SPA_API_GRAPH void spa_graph_port_unlink ( struct spa_graph_port * port)

◆ spa_graph_node_impl_process()

SPA_API_GRAPH int spa_graph_node_impl_process ( void * data,
struct spa_graph_node * node )

◆ spa_graph_node_impl_reuse_buffer()

SPA_API_GRAPH int spa_graph_node_impl_reuse_buffer ( void * data,
struct spa_graph_node * node,
uint32_t port_id,
uint32_t buffer_id )

Variable Documentation

◆ spa_graph_node_sub_impl_default

const struct spa_graph_node_callbacks spa_graph_node_sub_impl_default
static

◆ spa_graph_node_impl_default

const struct spa_graph_node_callbacks spa_graph_node_impl_default
static