mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-12 13:30:15 -05:00
impl-node: improve graph xrun detection
Simply check for the state of the activation.
This commit is contained in:
parent
606bbefaa4
commit
f085a1fa49
1 changed files with 6 additions and 8 deletions
|
|
@ -1738,16 +1738,14 @@ static int node_ready(void *data, int status)
|
||||||
uint32_t owner[2], reposition_owner;
|
uint32_t owner[2], reposition_owner;
|
||||||
uint64_t min_timeout = UINT64_MAX;
|
uint64_t min_timeout = UINT64_MAX;
|
||||||
|
|
||||||
if (SPA_UNLIKELY(state->pending > 0)) {
|
if (SPA_UNLIKELY(a->status != PW_NODE_ACTIVATION_FINISHED)) {
|
||||||
pw_context_driver_emit_incomplete(node->context, node);
|
pw_context_driver_emit_incomplete(node->context, node);
|
||||||
if (ratelimit_test(&node->rt.rate_limit, a->signal_time, SPA_LOG_LEVEL_DEBUG)) {
|
pw_log_debug("(%s-%u) graph not finished: state:%p quantum:%"PRIu64
|
||||||
pw_log_debug("(%s-%u) graph not finished: state:%p quantum:%"PRIu64
|
" pending %d/%d", node->name, node->info.id,
|
||||||
" pending %d/%d", node->name, node->info.id,
|
state, a->position.clock.duration,
|
||||||
state, a->position.clock.duration,
|
state->pending, state->required);
|
||||||
state->pending, state->required);
|
if (ratelimit_test(&node->rt.rate_limit, a->signal_time, SPA_LOG_LEVEL_DEBUG))
|
||||||
dump_states(node);
|
dump_states(node);
|
||||||
}
|
|
||||||
node_trigger(node);
|
|
||||||
} else {
|
} else {
|
||||||
uint64_t signal_time = a->signal_time;
|
uint64_t signal_time = a->signal_time;
|
||||||
/* old nodes set the TRIGGERED status on node_ready, patch this
|
/* old nodes set the TRIGGERED status on node_ready, patch this
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue