From cae9d9b9e89d1e4a9af3c3190a2592a4cea4371d Mon Sep 17 00:00:00 2001 From: Zephyron Date: Sat, 8 Feb 2025 20:35:38 +1000 Subject: [PATCH] service/audio: implement Unknown5000 and add debug commands - Add Unknown5000 implementation to create duplicate controller interface - Add new debug-related command handlers: * OverrideDefaultTargetForDebug (50001) * SetForceOverrideExternalDeviceNameForDebug (50003) * ClearForceOverrideExternalDeviceNameForDebug (50004) - Add proper debug logging for interface creation - Update header with new function declaration - Fix missing commas in function registration array These changes improve the audio controller implementation by adding support for interface duplication and debug override functionality. The implementation maintains proper interface lifetime management using SharedFrom. --- src/core/hle/service/audio/audio_controller.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/audio/audio_controller.cpp b/src/core/hle/service/audio/audio_controller.cpp index 4b6f468c92..f2ebeaf686 100644 --- a/src/core/hle/service/audio/audio_controller.cpp +++ b/src/core/hle/service/audio/audio_controller.cpp @@ -179,12 +179,14 @@ Result IAudioController::AcquireTargetNotification( *out_notification_event = ¬ification_event->GetReadableEvent(); R_SUCCEED(); } + Result IAudioController::Unknown5000(Out> out_audio_controller) { LOG_DEBUG(Audio, "Creating duplicate audio controller interface"); // Return a new reference to this controller instance - *out_audio_controller = std::static_pointer_cast(shared_from_this()); + *out_audio_controller = SharedFrom(this); R_SUCCEED(); } + } // namespace Service::Audio