ladybird/Userland/Services/AudioServer
kleines Filmröllchen d9c1eb860f AudioServer: Detect improperly detached audio clients
Because IPC is used very little in audio server communication, a
ping-pong method like WindowServer is neither a good nor a reliable way
of detecting detached audio clients. AudioServer was previously doing
nothing to detect the kinds of clients that never closed their
connection properly, which happens e.g. when a program is force-closed.
Due to reference-counting cycles, the associated client connection
queues were being kept alive. However, the is_open method of local
sockets reliably detects all kinds of disconnected sockets and can
easily be adapted for this use case. With this fix, we no longer get
"Audio client can't keep up" spam on improperly disconnected clients,
and the client queues don't fill up indefinitely, reducing processing
and memory usage in AudioServer.
2022-11-25 17:43:16 -07:00
..
AudioClient.ipc LibAudio+Userland: Use new audio queue in client-server communication 2022-04-21 13:55:00 +02:00
AudioServer.ipc LibAudio+Userland: Remove Audio::LegacyBuffer 2022-05-03 23:09:20 +02:00
CMakeLists.txt Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
ConnectionFromClient.cpp LibAudio+Userland: Remove Audio::LegacyBuffer 2022-05-03 23:09:20 +02:00
ConnectionFromClient.h LibAudio+Userland: Remove Audio::LegacyBuffer 2022-05-03 23:09:20 +02:00
FadingProperty.h LibWeb+AudioServer: Remove unused spaceship operators 2022-04-23 10:43:32 -07:00
main.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Mixer.cpp AudioServer: Detect improperly detached audio clients 2022-11-25 17:43:16 -07:00
Mixer.h AudioServer: Detect improperly detached audio clients 2022-11-25 17:43:16 -07:00