diff options
Diffstat (limited to 'src/audio_core/audio_renderer.cpp')
| -rw-r--r-- | src/audio_core/audio_renderer.cpp | 17 |
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() { | |||
| 259 | } | 259 | } |
| 260 | 260 | ||
| 261 | void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) { | 261 | void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) { |
| 262 | std::vector<s16> new_samples(info.wave_buffer[wave_index].buffer_sz / sizeof(s16)); | 262 | const auto wave_buffer_address = info.wave_buffer[wave_index].buffer_addr; |
| 263 | Memory::ReadBlock(info.wave_buffer[wave_index].buffer_addr, new_samples.data(), | 263 | const auto wave_buffer_size = info.wave_buffer[wave_index].buffer_sz; |
| 264 | info.wave_buffer[wave_index].buffer_sz); | 264 | std::vector<s16> new_samples(wave_buffer_size / sizeof(s16)); |
| 265 | memory.ReadBlock(wave_buffer_address, new_samples.data(), wave_buffer_size); | ||
| 265 | 266 | ||
| 266 | switch (static_cast<Codec::PcmFormat>(info.sample_format)) { | 267 | switch (static_cast<Codec::PcmFormat>(info.sample_format)) { |
| 267 | case Codec::PcmFormat::Int16: { | 268 | case Codec::PcmFormat::Int16: { |
| @@ -271,7 +272,7 @@ void AudioRenderer::VoiceState::RefreshBuffer(Memory::Memory& memory) { | |||
| 271 | case Codec::PcmFormat::Adpcm: { | 272 | case Codec::PcmFormat::Adpcm: { |
| 272 | // Decode ADPCM to PCM16 | 273 | // Decode ADPCM to PCM16 |
| 273 | Codec::ADPCM_Coeff coeffs; | 274 | Codec::ADPCM_Coeff coeffs; |
| 274 | Memory::ReadBlock(info.additional_params_addr, coeffs.data(), sizeof(Codec::ADPCM_Coeff)); | 275 | memory.ReadBlock(info.additional_params_addr, coeffs.data(), sizeof(Codec::ADPCM_Coeff)); |
| 275 | new_samples = Codec::DecodeADPCM(reinterpret_cast<u8*>(new_samples.data()), | 276 | new_samples = Codec::DecodeADPCM(reinterpret_cast<u8*>(new_samples.data()), |
| 276 | new_samples.size() * sizeof(s16), coeffs, adpcm_state); | 277 | new_samples.size() * sizeof(s16), coeffs, adpcm_state); |
| 277 | break; | 278 | break; |
| @@ -314,13 +315,13 @@ void AudioRenderer::EffectState::UpdateState(Memory::Memory& memory) { | |||
| 314 | out_status.state = EffectStatus::New; | 315 | out_status.state = EffectStatus::New; |
| 315 | } else { | 316 | } else { |
| 316 | if (info.type == Effect::Aux) { | 317 | if (info.type == Effect::Aux) { |
| 317 | ASSERT_MSG(Memory::Read32(info.aux_info.return_buffer_info) == 0, | 318 | ASSERT_MSG(memory.Read32(info.aux_info.return_buffer_info) == 0, |
| 318 | "Aux buffers tried to update"); | 319 | "Aux buffers tried to update"); |
| 319 | ASSERT_MSG(Memory::Read32(info.aux_info.send_buffer_info) == 0, | 320 | ASSERT_MSG(memory.Read32(info.aux_info.send_buffer_info) == 0, |
| 320 | "Aux buffers tried to update"); | 321 | "Aux buffers tried to update"); |
| 321 | ASSERT_MSG(Memory::Read32(info.aux_info.return_buffer_base) == 0, | 322 | ASSERT_MSG(memory.Read32(info.aux_info.return_buffer_base) == 0, |
| 322 | "Aux buffers tried to update"); | 323 | "Aux buffers tried to update"); |
| 323 | ASSERT_MSG(Memory::Read32(info.aux_info.send_buffer_base) == 0, | 324 | ASSERT_MSG(memory.Read32(info.aux_info.send_buffer_base) == 0, |
| 324 | "Aux buffers tried to update"); | 325 | "Aux buffers tried to update"); |
| 325 | } | 326 | } |
| 326 | } | 327 | } |