pulse: Handle timed out streams

If we don't get a link on a stream, we might never send a create stream
reply. The client handles this fine by timing out after 30s and dropping
the stream, but the server holds on to the pw_stream forever (or until
the client quits).

Let's add a timer to clean up such streams on the server.

Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4901
This commit is contained in:
Arun Raghavan 2025-09-17 10:58:58 -04:00
parent d5608c07c3
commit cfde4c1b17
2 changed files with 29 additions and 0 deletions

View file

@ -50,6 +50,7 @@ struct stream {
struct pw_stream *stream;
struct spa_hook stream_listener;
struct spa_source *timer;
struct spa_io_position *position;
struct spa_ringbuffer ring;