mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-06 00:40:34 +00:00
impl-node: don't report xrun when pending <= 0
We might decrement too much but that would mean the driver was triggered at some point and we don't really have an error. Improve some debug
This commit is contained in:
parent
4db96d2197
commit
9cb4d820d5
|
@ -1282,8 +1282,9 @@ static inline int process_node(void *data)
|
||||||
uint64_t nsec;
|
uint64_t nsec;
|
||||||
|
|
||||||
nsec = get_time_ns(data_system);
|
nsec = get_time_ns(data_system);
|
||||||
pw_log_trace_fp("%p: %s process remote:%u exported:%u %"PRIu64,
|
pw_log_trace_fp("%p: %s process remote:%u exported:%u %"PRIu64" %"PRIu64,
|
||||||
this, this->name, this->remote, this->exported, nsec);
|
this, this->name, this->remote, this->exported,
|
||||||
|
a->signal_time, nsec);
|
||||||
a->status = PW_NODE_ACTIVATION_AWAKE;
|
a->status = PW_NODE_ACTIVATION_AWAKE;
|
||||||
a->awake_time = nsec;
|
a->awake_time = nsec;
|
||||||
|
|
||||||
|
@ -1846,7 +1847,7 @@ static int node_ready(void *data, int status)
|
||||||
uint64_t min_timeout = UINT64_MAX;
|
uint64_t min_timeout = UINT64_MAX;
|
||||||
int32_t pending;
|
int32_t pending;
|
||||||
|
|
||||||
if (SPA_UNLIKELY((pending = pw_node_activation_state_xchg(state)) != 0)) {
|
if (SPA_UNLIKELY((pending = pw_node_activation_state_xchg(state)) > 0)) {
|
||||||
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,
|
||||||
|
|
|
@ -88,7 +88,7 @@ struct pw_impl_node_rt_events {
|
||||||
void (*complete) (void *data);
|
void (*complete) (void *data);
|
||||||
/** the driver node did not complete processing */
|
/** the driver node did not complete processing */
|
||||||
void (*incomplete) (void *data);
|
void (*incomplete) (void *data);
|
||||||
/** the node had */
|
/** the node had a timeout */
|
||||||
void (*timeout) (void *data);
|
void (*timeout) (void *data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue