diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index 03a1336408..e1ded84e06 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp @@ -17,8 +17,8 @@ namespace { [[nodiscard]] static constexpr s16 ClampToS16(s32 value) { - return static_cast(std::clamp(value, static_cast(std::numeric_limits::min()), - static_cast(std::numeric_limits::max()))); + return static_cast(std::clamp(value, s32{std::numeric_limits::min()}, + s32{std::numeric_limits::max()})); } [[nodiscard]] static constexpr s16 Mix2To1(s16 l_channel, s16 r_channel) { diff --git a/src/audio_core/sink_context.cpp b/src/audio_core/sink_context.cpp index cdb47ba81c..b29b478907 100644 --- a/src/audio_core/sink_context.cpp +++ b/src/audio_core/sink_context.cpp @@ -15,8 +15,8 @@ std::size_t SinkContext::GetCount() const { void SinkContext::UpdateMainSink(const SinkInfo::InParams& in) { ASSERT(in.type == SinkTypes::Device); - downmix = in.device.down_matrix_enabled; - if (downmix) { + has_downmix_coefs = in.device.down_matrix_enabled; + if (has_downmix_coefs) { downmix_coefficients = in.device.down_matrix_coef; } in_use = in.in_use; @@ -35,10 +35,10 @@ std::vector SinkContext::OutputBuffers() const { } bool SinkContext::HasDownMixingCoefficients() const { - return downmix; + return has_downmix_coefs; } -const std::array& SinkContext::GetDownmixCoefficients() const { +const DownmixCoefficients& SinkContext::GetDownmixCoefficients() const { return downmix_coefficients; } diff --git a/src/audio_core/sink_context.h b/src/audio_core/sink_context.h index 5a757a4ef7..e2e7880b7b 100644 --- a/src/audio_core/sink_context.h +++ b/src/audio_core/sink_context.h @@ -11,6 +11,8 @@ namespace AudioCore { +using DownmixCoefficients = std::array; + enum class SinkTypes : u8 { Invalid = 0, Device = 1, @@ -50,7 +52,7 @@ public: std::array input; INSERT_UNION_PADDING_BYTES(1); bool down_matrix_enabled; - std::array down_matrix_coef; + DownmixCoefficients down_matrix_coef; }; static_assert(sizeof(SinkInfo::DeviceIn) == 0x11c, "SinkInfo::DeviceIn is an invalid size"); @@ -81,14 +83,14 @@ public: [[nodiscard]] std::vector OutputBuffers() const; [[nodiscard]] bool HasDownMixingCoefficients() const; - [[nodiscard]] const std::array& GetDownmixCoefficients() const; + [[nodiscard]] const DownmixCoefficients& GetDownmixCoefficients() const; private: bool in_use{false}; s32 use_count{}; std::array buffers{}; std::size_t sink_count{}; - bool downmix{false}; - std::array downmix_coefficients{}; + bool has_downmix_coefs{false}; + DownmixCoefficients downmix_coefficients{}; }; } // namespace AudioCore diff --git a/src/audio_core/stream.cpp b/src/audio_core/stream.cpp index 3f11b84ae3..41bc2f4d69 100644 --- a/src/audio_core/stream.cpp +++ b/src/audio_core/stream.cpp @@ -138,6 +138,7 @@ std::vector Stream::GetTagsAndReleaseBuffers(std::size_t max_count) std::vector Stream::GetTagsAndReleaseBuffers() { std::vector tags; + tags.reserve(released_buffers.size()); while (!released_buffers.empty()) { tags.push_back(released_buffers.front()->GetTag()); released_buffers.pop();