pulse-server: set pulse.corked on streams

Set the corked state on streams so that we can use this in sink-input
and source-output info without guessing.

The problem is that when a stream starts un-corked, the state is less
than RUNNING and so before this patch, pulse-server reports a corked
stream, which is not what pulseaudio reports.
This commit is contained in:
Wim Taymans 2024-09-30 15:02:08 +02:00
parent 404817592b
commit 9e932ec671
3 changed files with 28 additions and 4 deletions

View file

@ -211,6 +211,16 @@ void stream_set_paused(struct stream *stream, bool paused, const char *reason)
pw_stream_set_active(stream->stream, !paused);
}
void stream_set_corked(struct stream *stream, bool cork)
{
stream->corked = cork;
pw_log_info("cork %d", cork);
pw_stream_update_properties(stream->stream,
&SPA_DICT_ITEMS(
SPA_DICT_ITEM("pulse.corked", cork ? "true" : "false")));
stream_set_paused(stream, cork, "cork request");
}
int stream_send_underflow(struct stream *stream, int64_t offset)
{
struct client *client = stream->client;