From 6469663265ae095977d87917637960dcb4e8e418 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 13 Oct 2020 20:54:39 +0200 Subject: [PATCH] pulse: only report suspended when not corked We only want to be in the suspended state when we are paused bu didn't cork ourselves. See #300 --- pipewire-pulseaudio/src/stream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipewire-pulseaudio/src/stream.c b/pipewire-pulseaudio/src/stream.c index 6496d73e7..3142886f9 100644 --- a/pipewire-pulseaudio/src/stream.c +++ b/pipewire-pulseaudio/src/stream.c @@ -89,7 +89,7 @@ static void stream_state_changed(void *data, enum pw_stream_state old, s->stream_index = pw_stream_get_node_id(s->stream); if (!s->suspended) { s->suspended = true; - if (!c->disconnect && s->state == PA_STREAM_READY && s->suspended_callback) + if (!c->disconnect && !s->corked && s->state == PA_STREAM_READY && s->suspended_callback) s->suspended_callback(s, s->suspended_userdata); } break; @@ -793,7 +793,7 @@ int pa_stream_is_suspended(PA_CONST pa_stream *s) PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); - return s->suspended; + return s->suspended && !s->corked; } SPA_EXPORT