return p->dead ? -1 : 0;
}
-static void latency_complete(pa_stream *s, const pa_latency_info *l, void *userdata) {
+static void latency_complete(pa_stream *s, int success, void *userdata) {
pa_simple *p = userdata;
assert(s);
assert(p);
- if (!l)
+ if (!success)
p->dead = 1;
else {
int negative = 0;
- p->latency = pa_stream_get_latency(s, l, &negative);
- if (negative)
+ if (pa_stream_get_latency(s, &p->latency, &negative) < 0)
+ p->dead = 1;
+ else if (negative)
p->latency = 0;
}
}
}
p->latency = 0;
- if (!(o = pa_stream_get_latency_info(p->stream, latency_complete, p))) {
+ if (!(o = pa_stream_update_latency_info(p->stream, latency_complete, p))) {
if (rerror)
*rerror = pa_context_errno(p->context);
return (pa_usec_t) -1;