1 // Copyright 2020 yuzu Emulator Project 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #include "audio_core/sink_context.h" 6 7 namespace AudioCore { SinkContext(std::size_t sink_count_)8SinkContext::SinkContext(std::size_t sink_count_) : sink_count{sink_count_} {} 9 SinkContext::~SinkContext() = default; 10 GetCount() const11std::size_t SinkContext::GetCount() const { 12 return sink_count; 13 } 14 UpdateMainSink(const SinkInfo::InParams & in)15void SinkContext::UpdateMainSink(const SinkInfo::InParams& in) { 16 ASSERT(in.type == SinkTypes::Device); 17 18 has_downmix_coefs = in.device.down_matrix_enabled; 19 if (has_downmix_coefs) { 20 downmix_coefficients = in.device.down_matrix_coef; 21 } 22 in_use = in.in_use; 23 use_count = in.device.input_count; 24 buffers = in.device.input; 25 } 26 InUse() const27bool SinkContext::InUse() const { 28 return in_use; 29 } 30 OutputBuffers() const31std::vector<u8> SinkContext::OutputBuffers() const { 32 std::vector<u8> buffer_ret(use_count); 33 std::memcpy(buffer_ret.data(), buffers.data(), use_count); 34 return buffer_ret; 35 } 36 HasDownMixingCoefficients() const37bool SinkContext::HasDownMixingCoefficients() const { 38 return has_downmix_coefs; 39 } 40 GetDownmixCoefficients() const41const DownmixCoefficients& SinkContext::GetDownmixCoefficients() const { 42 return downmix_coefficients; 43 } 44 45 } // namespace AudioCore 46