From 446426224ea61a2994bb5d5006b8150375ee3d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Miko=C5=82ajczyk?= Date: Sat, 26 Jul 2025 01:23:10 +0200 Subject: [PATCH] Return the number of samples enqueued in AudioOut (#3324) --- src/core/libraries/audio/audioout.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/libraries/audio/audioout.cpp b/src/core/libraries/audio/audioout.cpp index 22b6b17ea..66ab88224 100644 --- a/src/core/libraries/audio/audioout.cpp +++ b/src/core/libraries/audio/audioout.cpp @@ -398,6 +398,7 @@ s32 PS4_SYSV_ABI sceAudioOutOutput(s32 handle, void* ptr) { return ORBIS_AUDIO_OUT_ERROR_INVALID_PORT; } + auto samples_sent = 0; auto& port = ports_out.at(handle - 1); { std::unique_lock lock{port.mutex}; @@ -409,10 +410,11 @@ s32 PS4_SYSV_ABI sceAudioOutOutput(s32 handle, void* ptr) { std::memcpy(port.output_buffer, ptr, port.BufferSize()); port.output_ready = true; port.last_output_time = Kernel::sceKernelGetProcessTime(); + samples_sent = port.buffer_frames * port.format_info.num_channels; } } port.output_cv.notify_one(); - return ORBIS_OK; + return samples_sent; } int PS4_SYSV_ABI sceAudioOutOutputs(OrbisAudioOutOutputParam* param, u32 num) {