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.
This commit is contained in:
Zephyron 2025-02-08 20:35:38 +10:00 committed by MrPurple666
parent 1bd86b08f2
commit cae9d9b9e8

View file

@ -179,12 +179,14 @@ Result IAudioController::AcquireTargetNotification(
*out_notification_event = &notification_event->GetReadableEvent(); *out_notification_event = &notification_event->GetReadableEvent();
R_SUCCEED(); R_SUCCEED();
} }
Result IAudioController::Unknown5000(Out<SharedPointer<IAudioController>> out_audio_controller) { Result IAudioController::Unknown5000(Out<SharedPointer<IAudioController>> out_audio_controller) {
LOG_DEBUG(Audio, "Creating duplicate audio controller interface"); LOG_DEBUG(Audio, "Creating duplicate audio controller interface");
// Return a new reference to this controller instance // Return a new reference to this controller instance
*out_audio_controller = std::static_pointer_cast<IAudioController>(shared_from_this()); *out_audio_controller = SharedFrom(this);
R_SUCCEED(); R_SUCCEED();
} }
} // namespace Service::Audio } // namespace Service::Audio