summaryrefslogtreecommitdiffstats
path: root/src/audio_core
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-11-26 22:29:34 +0100
committerLioncash <mathew1800@gmail.com>2019-11-27 03:55:39 +0100
commitb05bfc603689419dc515a656b9fc711d79994f13 (patch)
treebc0937d11bbe31458785a69478edbf11a720b0ae /src/audio_core
parentcore/memory: Migrate over ZeroBlock() and CopyBlock() to the Memory class (diff)
downloadyuzu-b05bfc603689419dc515a656b9fc711d79994f13.tar
yuzu-b05bfc603689419dc515a656b9fc711d79994f13.tar.gz
yuzu-b05bfc603689419dc515a656b9fc711d79994f13.tar.bz2
yuzu-b05bfc603689419dc515a656b9fc711d79994f13.tar.lz
yuzu-b05bfc603689419dc515a656b9fc711d79994f13.tar.xz
yuzu-b05bfc603689419dc515a656b9fc711d79994f13.tar.zst
yuzu-b05bfc603689419dc515a656b9fc711d79994f13.zip
Diffstat (limited to 'src/audio_core')
-rw-r--r--src/audio_core/audio_renderer.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp
index 12e2b7901..c187d8ac5 100644
--- a/src/audio_core/audio_renderer.cpp
+++ b/src/audio_core/audio_renderer.cpp
@@ -259,9 +259,10 @@ void AudioRenderer::VoiceState::UpdateState() {
}
void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) {
- std::vector<s16> new_samples(info.wave_buffer[wave_index].buffer_sz / sizeof(s16));
- Memory::ReadBlock(info.wave_buffer[wave_index].buffer_addr, new_samples.data(),
- info.wave_buffer[wave_index].buffer_sz);
+ const auto wave_buffer_address = info.wave_buffer[wave_index].buffer_addr;
+ const auto wave_buffer_size = info.wave_buffer[wave_index].buffer_sz;
+ std::vector<s16> new_samples(wave_buffer_size / sizeof(s16));
+ memory.ReadBlock(wave_buffer_address, new_samples.data(), wave_buffer_size);
switch (static_cast<Codec::PcmFormat>(info.sample_format)) {
case Codec::PcmFormat::Int16: {
@@ -271,7 +272,7 @@ void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) {
case Codec::PcmFormat::Adpcm: {
// Decode ADPCM to PCM16
Codec::ADPCM_Coeff coeffs;
- Memory::ReadBlock(info.additional_params_addr, coeffs.data(), sizeof(Codec::ADPCM_Coeff));
+ memory.ReadBlock(info.additional_params_addr, coeffs.data(), sizeof(Codec::ADPCM_Coeff));
new_samples = Codec::DecodeADPCM(reinterpret_cast<u8*>(new_samples.data()),
new_samples.size() * sizeof(s16), coeffs, adpcm_state);
break;
@@ -314,13 +315,13 @@ void AudioRenderer::EffectState::UpdateState(Memory::Memory& memory) {
out_status.state = EffectStatus::New;
} else {
if (info.type == Effect::Aux) {
- ASSERT_MSG(Memory::Read32(info.aux_info.return_buffer_info) == 0,
+ ASSERT_MSG(memory.Read32(info.aux_info.return_buffer_info) == 0,
"Aux buffers tried to update");
- ASSERT_MSG(Memory::Read32(info.aux_info.send_buffer_info) == 0,
+ ASSERT_MSG(memory.Read32(info.aux_info.send_buffer_info) == 0,
"Aux buffers tried to update");
- ASSERT_MSG(Memory::Read32(info.aux_info.return_buffer_base) == 0,
+ ASSERT_MSG(memory.Read32(info.aux_info.return_buffer_base) == 0,
"Aux buffers tried to update");
- ASSERT_MSG(Memory::Read32(info.aux_info.send_buffer_base) == 0,
+ ASSERT_MSG(memory.Read32(info.aux_info.send_buffer_base) == 0,
"Aux buffers tried to update");
}
}