From a1eef3a2b8a9090ae0e78183cc7a771af2581abf Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Fri, 20 Feb 2026 17:35:41 +0900 Subject: [PATCH] [XMA] swap to valid buffer instead of stalling when current is invalid --- src/xenia/apu/xma_context_new.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/xenia/apu/xma_context_new.cc b/src/xenia/apu/xma_context_new.cc index 9e4ac02c5..2de68863f 100644 --- a/src/xenia/apu/xma_context_new.cc +++ b/src/xenia/apu/xma_context_new.cc @@ -300,17 +300,15 @@ void XmaContextNew::Decode(XMA_CONTEXT_DATA* data) { return; } - uint8_t* current_input_buffer = GetCurrentInputBuffer(data); - if (!data->IsCurrentInputBufferValid()) { - XELOGE( - "XmaContext {}: Invalid current buffer! Selected Buffer: {} Valid: {} " - "Pointer: {:08X}", - id(), data->current_buffer, data->IsCurrentInputBufferValid(), - data->GetCurrentInputBufferAddress()); - return; + SwapInputBuffer(data); + if (!data->IsCurrentInputBufferValid()) { + return; + } } + uint8_t* current_input_buffer = GetCurrentInputBuffer(data); + input_buffer_.fill(0); UpdateLoopStatus(data);