aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/sink_context.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-11-25 10:50:52 -0800
committerGitHub <noreply@github.com>2020-11-25 10:50:52 -0800
commitb7f1095980d614842f6264667d9ddd38186d57ff (patch)
tree980eba01298d420dad312534e93f8fbd82e3ba76 /src/audio_core/sink_context.cpp
parent9aeada734d4e1793ce2e7c57678e83501f292afc (diff)
parent908d3c56793ee67dccd0d370b175c4937420053f (diff)
Merge pull request #4932 from ogniK5377/misc-audio
audren: Make use of nodiscard, rework downmixing, release all buffers
Diffstat (limited to 'src/audio_core/sink_context.cpp')
-rw-r--r--src/audio_core/sink_context.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/audio_core/sink_context.cpp b/src/audio_core/sink_context.cpp
index 0882b411a..b29b47890 100644
--- a/src/audio_core/sink_context.cpp
+++ b/src/audio_core/sink_context.cpp
@@ -12,10 +12,16 @@ std::size_t SinkContext::GetCount() const {
return sink_count;
}
-void SinkContext::UpdateMainSink(SinkInfo::InParams& in) {
+void SinkContext::UpdateMainSink(const SinkInfo::InParams& in) {
+ ASSERT(in.type == SinkTypes::Device);
+
+ has_downmix_coefs = in.device.down_matrix_enabled;
+ if (has_downmix_coefs) {
+ downmix_coefficients = in.device.down_matrix_coef;
+ }
in_use = in.in_use;
use_count = in.device.input_count;
- std::memcpy(buffers.data(), in.device.input.data(), AudioCommon::MAX_CHANNEL_COUNT);
+ buffers = in.device.input;
}
bool SinkContext::InUse() const {
@@ -28,4 +34,12 @@ std::vector<u8> SinkContext::OutputBuffers() const {
return buffer_ret;
}
+bool SinkContext::HasDownMixingCoefficients() const {
+ return has_downmix_coefs;
+}
+
+const DownmixCoefficients& SinkContext::GetDownmixCoefficients() const {
+ return downmix_coefficients;
+}
+
} // namespace AudioCore