From cc9192a1e729bd9adf2c3daf93f4b709a582e3a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Sun, 13 Nov 2022 17:36:55 +0100 Subject: [PATCH] LibAudio: Expose blocking realtime enqueue to audio clients This is just a delegate of the same function found in the shared queue itself. --- Userland/Libraries/LibAudio/ConnectionToServer.cpp | 6 ++++++ Userland/Libraries/LibAudio/ConnectionToServer.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Userland/Libraries/LibAudio/ConnectionToServer.cpp b/Userland/Libraries/LibAudio/ConnectionToServer.cpp index 31649c41b7..6146a2c5e1 100644 --- a/Userland/Libraries/LibAudio/ConnectionToServer.cpp +++ b/Userland/Libraries/LibAudio/ConnectionToServer.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -116,6 +117,11 @@ ErrorOr ConnectionToServer::realtime_enqueue(Arra return m_buffer->try_enqueue(samples); } +ErrorOr ConnectionToServer::blocking_realtime_enqueue(Array samples, Function wait_function) +{ + return m_buffer->try_blocking_enqueue(samples, move(wait_function)); +} + unsigned ConnectionToServer::total_played_samples() const { return m_buffer->weak_tail() * AUDIO_BUFFER_SIZE; diff --git a/Userland/Libraries/LibAudio/ConnectionToServer.h b/Userland/Libraries/LibAudio/ConnectionToServer.h index ca840d90a2..bd63e226a1 100644 --- a/Userland/Libraries/LibAudio/ConnectionToServer.h +++ b/Userland/Libraries/LibAudio/ConnectionToServer.h @@ -45,6 +45,7 @@ public: // Returns immediately with the appropriate status if the buffer is full; use in conjunction with remaining_buffers to get low latency. ErrorOr realtime_enqueue(Array samples); + ErrorOr blocking_realtime_enqueue(Array samples, Function wait_function); // This information can be deducted from the shared audio buffer. unsigned total_played_samples() const;