From 259679d53c60630f057082b74b981db4859d4c86 Mon Sep 17 00:00:00 2001 From: Gliniak Date: Wed, 2 Nov 2022 08:47:36 +0100 Subject: [PATCH] [APU] Handle exceeding input offset by switching buffer This should resolve crashes in FH --- src/xenia/apu/xma_context.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xenia/apu/xma_context.cc b/src/xenia/apu/xma_context.cc index 240135fc5..b8fa080a8 100644 --- a/src/xenia/apu/xma_context.cc +++ b/src/xenia/apu/xma_context.cc @@ -428,6 +428,8 @@ void XmaContext::Decode(XMA_CONTEXT_DATA* data) { "XmaContext {}: Error - Provided input offset exceed input buffer " "size! ({} > {})", id(), data->input_buffer_read_offset, current_input_size * 8); + SwapInputBuffer(data); + return; } // if we had a buffer swap try to skip packets first if (packets_skip_ > 0) {