From 0237296400458fa6281db92b37161c448ab91b98 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 17 Jan 2020 15:34:31 +0100 Subject: stream: don't set inactive on cork We don't pause our clock ticks in the corked state which confuses the timing code. As a workaround for now, don't set the node to inactive when corked, this still keeps calling into the process function and keep things moving. VLC seems to recover better. --- pipewire-pulseaudio/src/stream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pipewire-pulseaudio') diff --git a/pipewire-pulseaudio/src/stream.c b/pipewire-pulseaudio/src/stream.c index 70ffe02e..ace01e46 100644 --- a/pipewire-pulseaudio/src/stream.c +++ b/pipewire-pulseaudio/src/stream.c @@ -1537,8 +1537,8 @@ pa_operation* pa_stream_cork(pa_stream *s, int b, pa_stream_success_cb_t cb, voi PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); s->corked = b; - - pw_stream_set_active(s->stream, !b); + if (!b) + pw_stream_set_active(s->stream, true); o = pa_operation_new(s->context, s, on_success, sizeof(struct success_ack)); d = o->userdata; d->cb = cb; -- cgit v1.2.3