Audio services: Difference between revisions

No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 649: Line 649:
| 22 || [3.0.0+] NotifyHeadphoneVolumeWarningDisplayedEvent
| 22 || [3.0.0+] NotifyHeadphoneVolumeWarningDisplayedEvent
|-
|-
| 23 || [4.0.0+] SetSystemOutputMasterVolume
| 23 || [4.0.0+] [[#SetSystemOutputMasterVolume]]
|-
|-
| 24 || [4.0.0+] GetSystemOutputMasterVolume
| 24 || [4.0.0+] [[#GetSystemOutputMasterVolume]]
|-
|-
| 25 || [20.0.0+] ([4.0.0-13.2.1] [[#GetAudioVolumeDataForPlayReport]])
| 25 || [20.0.0+] ([4.0.0-13.2.1] [[#GetAudioVolumeDataForPlayReport]])
Line 721: Line 721:
| 50004 || [19.0.0+] ClearForceOverrideExternalDeviceNameForDebug
| 50004 || [19.0.0+] ClearForceOverrideExternalDeviceNameForDebug
|}
|}
== SetSystemOutputMasterVolume ==
Takes an input float '''SystemOutputMasterVolume'''. No output.
[20.0.0+] Originally any input was accepted, now input must be in range 0.0-1.0 otherwise it's replaced by nearest accepted value.
== GetSystemOutputMasterVolume ==
No input. Returns an output float '''SystemOutputMasterVolume'''.


== GetAudioVolumeDataForPlayReport ==
== GetAudioVolumeDataForPlayReport ==
Line 726: Line 734:


[13.0.0+] No input, returns a total of 9-bytes of output.
[13.0.0+] No input, returns a total of 9-bytes of output.
[20.0.0+] Now takes a 0x400-bytes type-0x16 output buffer and no longer returns any output.


== UpdateHeadphoneSettings ==
== UpdateHeadphoneSettings ==
Line 740: Line 750:


[20.0.0+] Now takes a total of 0x40-bytes of input and the type-0x16 output buffer is now 0x2000-bytes instead of 0x1000-bytes.
[20.0.0+] Now takes a total of 0x40-bytes of input and the type-0x16 output buffer is now 0x2000-bytes instead of 0x1000-bytes.
== GetAudioVolumeDataForPlayReport ==
[20.0.0+] Now takes a 0x400-bytes type-0x16 output buffer and no longer returns any output.


= codecctl =
= codecctl =
Line 1,013: Line 1,020:
|-
|-
| 1 || RequestResumeAudioForDebug
| 1 || RequestResumeAudioForDebug
|}
= (Switch 2) aud:u =
This is "nn::audio::IUserClientSession".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|}
== Cmd0 ==
No input, returns an output [[#audin:u|IAudioInManager]].
== Cmd1 ==
No input, returns an output [[#audout:u|IAudioOutManager]].
== Cmd2 ==
No input, returns an output [[#audren:u|IAudioRendererManager]].
== Cmd3 ==
No input, returns an output [[#ISpatialDownmixOutputModeManager|ISpatialDownmixOutputModeManager]].
=== ISpatialDownmixOutputModeManager ===
This is exclusive to S2.
This is "nn::audio::detail::ISpatialDownmixOutputModeManager".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|}
==== Cmd0 ====
Takes a PID, an u32, u64, no output.
= (Switch 2) auddmg:u =
This is "nn::audio::devmgr::IUserSessionManager".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|}
== Cmd0 ==
Takes a PID, an u32, an u64 pid_reserved, returns an output [[#IUserSession|IUserSession]].
=== IUserSession ===
This is exclusive to S2.
This is "nn::audio::devmgr::IUserSession".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 100 ||
|-
| 200 ||
|-
| 300 ||
|-
| 401 ||
|-
| 500 ||
|-
| 600 ||
|-
| 700 ||
|-
| 800 ||
|-
| 900 ||
|-
| 1000 ||
|-
| 1500 ||
|-
| 1550 ||
|-
| 1600 ||
|-
| 2000 ||
|-
| 2100 ||
|-
| 2200 ||
|-
| 2301 ||
|}
= (Switch 2) audsmx:u =
This is "nn::audio::sysmix::IUserSessionManager".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|}
== Cmd0 ==
Takes a PID, a Process handle, an u32, an u64 pid_reserved, returns an output [[#IUserSession_2|IUserSession]].
=== IUserSession ===
This is exclusive to S2.
This is "nn::audio::sysmix::IUserSession".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|}
==== Cmd1 ====
Takes a type-0x5 input buffer, two input u32s, 3 u64s, returns an output [[#IExternalStreamSession|IExternalStreamSession]].
==== Cmd2 ====
Takes a type-0x5 input buffer, no output.
==== Cmd3 ====
Takes a type-0x5 input buffer, no output.
==== IExternalStreamSession ====
This is exclusive to S2.
This is "nn::audio::sysmix::IExternalStreamSession".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|-
| 4 ||
|-
| 5 ||
|-
| 6 ||
|-
| 7 ||
|-
| 8 ||
|-
| 9 ||
|-
| 10 ||
|-
| 11 ||
|-
| 12 ||
|}
|}