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
This commit is contained in:
Wim Taymans 2020-10-13 20:54:39 +02:00
parent 477d6e0b7f
commit 6469663265

View file

@ -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); s->stream_index = pw_stream_get_node_id(s->stream);
if (!s->suspended) { if (!s->suspended) {
s->suspended = true; 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); s->suspended_callback(s, s->suspended_userdata);
} }
break; 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->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, 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 SPA_EXPORT