mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
scheduler: fix push
This commit is contained in:
parent
f744b7fb1b
commit
4d03224141
1 changed files with 9 additions and 3 deletions
|
|
@ -96,16 +96,22 @@ static inline int spa_graph_impl_have_output(void *data, struct spa_graph_node *
|
||||||
spa_list_for_each(p, &node->ports[SPA_DIRECTION_OUTPUT], link) {
|
spa_list_for_each(p, &node->ports[SPA_DIRECTION_OUTPUT], link) {
|
||||||
struct spa_graph_port *pport;
|
struct spa_graph_port *pport;
|
||||||
struct spa_graph_node *pnode;
|
struct spa_graph_node *pnode;
|
||||||
|
uint32_t prequired, pready;
|
||||||
|
|
||||||
if ((pport = p->peer) == NULL)
|
if ((pport = p->peer) == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
pnode = pport->node;
|
pnode = pport->node;
|
||||||
if (pport->io->status == SPA_RESULT_HAVE_BUFFER)
|
if (pport->io->status == SPA_RESULT_HAVE_BUFFER)
|
||||||
pnode->ready[SPA_DIRECTION_INPUT]++;
|
pnode->ready[SPA_DIRECTION_INPUT]++;
|
||||||
|
|
||||||
debug("node %p peer %p io %d %d %d\n", node, pnode, pport->io->status,
|
pready = pnode->ready[SPA_DIRECTION_INPUT];
|
||||||
pnode->ready[SPA_DIRECTION_INPUT], pnode->required[SPA_DIRECTION_INPUT]);
|
prequired = pnode->required[SPA_DIRECTION_INPUT];
|
||||||
|
|
||||||
if (pnode->required > 0 && pnode->ready == pnode->required)
|
debug("node %p peer %p io %d %d %d\n", node, pnode, pport->io->status,
|
||||||
|
pready, prequired);
|
||||||
|
|
||||||
|
if (prequired > 0 && pready == prequired)
|
||||||
if (pnode->ready_link.next == NULL)
|
if (pnode->ready_link.next == NULL)
|
||||||
spa_list_append(&ready, &pnode->ready_link);
|
spa_list_append(&ready, &pnode->ready_link);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue