serenity/Userland/Services/AudioServer
kleines Filmröllchen 3f067f8457 AudioServer: Fix deadlock when playing two audio streams
Previously, AudioServer would deadlock when trying to play another audio
stream, i.e. creating a queue. The m_pending_cond condition was used
improperly, and the condition wait now happens independently of querying
the pending queue for new clients if the mixer is running.

To make the mixer's concurrency-safety code more readable, the use of
raw POSIX mutex and condition syscalls is replaced with Threading::Mutex
and Threading::ConditionVariable.
2021-09-12 23:38:57 +02:00
..
AudioClient.ipc Audio: Add per-client volume 2021-09-12 23:38:57 +02:00
AudioServer.ipc Audio: Add per-client volume 2021-09-12 23:38:57 +02:00
ClientConnection.cpp Audio: Add per-client volume 2021-09-12 23:38:57 +02:00
ClientConnection.h Audio: Add per-client volume 2021-09-12 23:38:57 +02:00
CMakeLists.txt Everywhere: Add component declarations 2021-06-17 11:03:51 +02:00
FadingProperty.h Audio: Change how volume works 2021-09-12 23:38:57 +02:00
main.cpp Everywhere: Rename get in ConfigFile::get_for_{lib,app,system} to open 2021-08-22 01:32:25 +02:00
Mixer.cpp AudioServer: Fix deadlock when playing two audio streams 2021-09-12 23:38:57 +02:00
Mixer.h AudioServer: Fix deadlock when playing two audio streams 2021-09-12 23:38:57 +02:00