node: first reset graph, then run nodes

This commit is contained in:
Wim Taymans 2019-03-04 13:34:36 +01:00
parent 582bc70b3c
commit b238c8c2f6

View file

@ -897,16 +897,17 @@ static int node_ready(void *data, int status)
struct pw_node *node = data; struct pw_node *node = data;
struct pw_node *driver = node->driver_node; struct pw_node *driver = node->driver_node;
pw_log_trace("node %p: ready driver:%d exported:%d %p", node, pw_log_trace("node %p: ready driver:%d exported:%d %p status:%d", node,
node->driver, node->exported, driver); node->driver, node->exported, driver, status);
if (driver->rt.root.graph == NULL) if (driver->rt.root.graph == NULL)
return -EINVAL; return -EINVAL;
spa_graph_run(driver->rt.driver);
if (status == SPA_STATUS_HAVE_BUFFER) if (status == SPA_STATUS_HAVE_BUFFER)
spa_graph_node_process(&driver->rt.root); spa_graph_node_process(&driver->rt.root);
spa_graph_run(driver->rt.driver);
spa_graph_link_trigger(&driver->rt.driver_link); spa_graph_link_trigger(&driver->rt.driver_link);
return 0; return 0;
} }