PipeWire 1.6.8

Loading...
Searching...
No Matches
Graph
SPA

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))
spa_graph_node_call
#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 )

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ 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 )

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ 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 )

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ spa_graph_node_add()

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

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ 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 )

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ spa_graph_port_add()

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

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ 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 )

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.

## ◆ 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

Examples
  spa/examples/adapter-control.c, and spa/examples/example-control.c.