[svc, audio] Implement REV13 audio renderer support and stub IAudioDevice commands up to 18.0.0+ #92

Closed
JPikachu wants to merge 2 commits from REV-13 into master

2 commits

Author SHA1 Message Date
JPikachu
092b483104 [fix] dumb headers
All checks were successful
eden-license / license-header (pull_request) Successful in 18s
2025-08-03 01:57:40 +02:00
JPikachu
09deed5048 [svc, audio] Implement REV13 audio renderer support and stub IAudioDevice commands up to 18.0.0+
Fully implements support for the AudioRenderer REV13 interface.
  - Adds SplitterDestinationInParameter with `reset_prev_volume` support.
  - Updates SplitterContext to parse REV13 destination parameters.
  - Handles per-destination volume ramp resets.
  - Verified against Ryujinx commit:
    a2c0035013

Stubs new commands in IAudioDevice introduced in 17.0.0+ and 18.0.0+:
  - Command 15: AcquireAudioInputDeviceNotification()
  - Command 16: ReleaseAudioInputDeviceNotification()
  - Command 17: AcquireAudioOutputDeviceNotification()
  - Command 18: ReleaseAudioOutputDeviceNotification()
  - Command 19: SetAudioDeviceOutputVolumeAutoTuneEnabled()
  - Command 20: IsAudioDeviceOutputVolumeAutoTuneEnabled()
  These were referenced directly from Ryujinx too.

Should fix audio reset issues in The Legend of Zelda: Echoes of Wisdom.
Note: due to minimal documentation on the audio services some guess work has been made and it may not be 100% accuracte to the switch's services.
2025-08-03 01:57:40 +02:00