From a86184c9979f69a1f823812bb95813f45e7265e2 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Tue, 7 Feb 2023 15:02:43 +0100 Subject: [PATCH] AudioServer: Use `AK::Stream` to serialize mixed samples --- Userland/Services/AudioServer/Mixer.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Userland/Services/AudioServer/Mixer.cpp b/Userland/Services/AudioServer/Mixer.cpp index d0b1e3354c..25cd8ab26e 100644 --- a/Userland/Services/AudioServer/Mixer.cpp +++ b/Userland/Services/AudioServer/Mixer.cpp @@ -7,8 +7,8 @@ #include "Mixer.h" #include -#include #include +#include #include #include #include @@ -99,7 +99,7 @@ void Mixer::mix() if (m_muted || m_main_volume < 0.01) { m_device->write(m_zero_filled_buffer.data(), static_cast(m_zero_filled_buffer.size())); } else { - DeprecatedOutputMemoryStream stream { m_stream_buffer }; + FixedMemoryStream stream { m_stream_buffer.span() }; for (auto& mixed_sample : mixed_buffer) { mixed_sample.log_multiply(static_cast(m_main_volume)); @@ -107,15 +107,15 @@ void Mixer::mix() LittleEndian out_sample; out_sample = static_cast(mixed_sample.left * NumericLimits::max()); - stream << out_sample; + MUST(stream.write_value(out_sample)); out_sample = static_cast(mixed_sample.right * NumericLimits::max()); - stream << out_sample; + MUST(stream.write_value(out_sample)); } - VERIFY(stream.is_end()); - VERIFY(!stream.has_any_error()); - m_device->write(stream.data(), static_cast(stream.size())); + auto buffered_bytes = MUST(stream.tell()); + VERIFY(buffered_bytes == m_stream_buffer.size()); + m_device->write(m_stream_buffer.data(), static_cast(buffered_bytes)); } } }