graph: new scheduling model

Make explicit links between elements that are used to activate the
next element in the graph.
Make subgraphs a special regular node. Make a link from the
subgraph children to the parent so that the subgraph completes when
all the children completed.
Implement a single process function in plugins
Remove many messages in the client node
This commit is contained in:
Wim Taymans 2018-03-20 11:37:11 +01:00
parent 9b0a880afb
commit 33a322b96e
36 changed files with 401 additions and 750 deletions

View file

@ -83,23 +83,13 @@ struct spa_node_callbacks {
/**
* \param node a spa_node
*
* The node needs more input. This callback is called from the
* The node is ready for processing. This callback is called from the
* data thread.
*
* When this function is NULL, synchronous operation is requested
* on the input ports.
* on the ports.
*/
void (*need_input) (void *data);
/**
* \param node a spa_node
*
* The node has output input. This callback is called from the
* data thread.
*
* When this function is NULL, synchronous operation is requested
* on the output ports.
*/
void (*have_output) (void *data);
void (*process) (void *data, int state);
/**
* \param node a spa_node