From 80e1b1adf42020fbb458d0b5b381c3c7c687d619 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Wed, 7 Aug 2024 23:55:30 +0200 Subject: [PATCH] cellMic: only call get_data once --- rpcs3/Emu/Cell/Modules/cellMic.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/Cell/Modules/cellMic.cpp b/rpcs3/Emu/Cell/Modules/cellMic.cpp index 30cd8691d5..8539214e56 100644 --- a/rpcs3/Emu/Cell/Modules/cellMic.cpp +++ b/rpcs3/Emu/Cell/Modules/cellMic.cpp @@ -521,6 +521,12 @@ void microphone_device::update_audio() const u32 num_samples = capture_audio(); + if ((signal_types & CELLMIC_SIGTYPE_RAW) || + (signal_types & CELLMIC_SIGTYPE_DSP)) + { + get_data(num_samples); + } + if (signal_types & CELLMIC_SIGTYPE_RAW) { get_raw(num_samples); @@ -661,8 +667,6 @@ void microphone_device::get_raw(const u32 num_samples) return; } - get_data(num_samples); - rbuf_raw.write_bytes(temp_buf.data(), num_samples * sample_size); } @@ -673,8 +677,6 @@ void microphone_device::get_dsp(const u32 num_samples) return; } - get_data(num_samples); - rbuf_dsp.write_bytes(temp_buf.data(), num_samples * sample_size); }