Audio services: Difference between revisions
| (4 intermediate revisions by the same user not shown) | |||
| Line 341: | Line 341: | ||
|- | |- | ||
| 6 || [6.0.0-16.1.0] GetDspUsage | | 6 || [6.0.0-16.1.0] GetDspUsage | ||
|} | |||
= (S2) auddev:s = | |||
This is "nn::audio::sysdev::ISessionManager". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || | |||
|- | |||
| 1 || | |||
|} | |||
== Cmd0 == | |||
No input, returns an [[#IAdspShellSession|IAdspShellSession]]. | |||
== Cmd1 == | |||
No input, returns an [[#IClientManager|IClientManager]]. | |||
== IAdspShellSession == | |||
This is "nn::audio::adspshell::IAdspShellSession". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || SendKernelDebugCommand | |||
|- | |||
| 1 || SendFatalErrorCommand | |||
|- | |||
| 2 || SendReadMemoryCommand | |||
|- | |||
| 3 || SendStressTestCommand | |||
|} | |||
== IClientManager == | |||
This is "nn::audio::dpm::IClientManager". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || | |||
|} | |||
=== Cmd0 === | |||
No input, returns an [[#IClientSession|IClientSession]]. | |||
=== IClientSession === | |||
This is "nn::audio::dpm::IClientSession". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || CreateProcess | |||
|- | |||
| 1 || WaitProcess | |||
|- | |||
| 2 || TerminateProcess | |||
|} | |} | ||
| Line 901: | Line 962: | ||
|- | |- | ||
| 9 || [16.0.0+] GetWorkBufferSizeForMultiStreamExEx | | 9 || [16.0.0+] GetWorkBufferSizeForMultiStreamExEx | ||
|- | |||
| 100 || [S2] | |||
|} | |} | ||
| Line 938: | Line 1,001: | ||
The input buffer is a [[#OpusMultiStreamParametersEx]] struct. | The input buffer is a [[#OpusMultiStreamParametersEx]] struct. | ||
== Cmd100 == | |||
No input, returns an [[#IClientSession_2|IClientSession]]. | |||
== IHardwareOpusDecoder == | == IHardwareOpusDecoder == | ||
| Line 1,006: | Line 1,072: | ||
The bool flag indicates whether or not a reset of the decoder context is being requested. | The bool flag indicates whether or not a reset of the decoder context is being requested. | ||
== IClientSession == | |||
This is "nn::codec::hwacod::IClientSession". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || | |||
|- | |||
| 1 || | |||
|- | |||
| 10 || | |||
|} | |||
=== Cmd10 === | |||
Takes {...}, returns an [[#IHardwareAudioCodecManagerSession|IHardwareAudioCodecManagerSession]]. | |||
=== IHardwareAudioCodecManagerSession === | |||
This is "nn::codec::hwacod::IHardwareAudioCodecManagerSession". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || | |||
|- | |||
| 1 || | |||
|- | |||
| 10 || | |||
|} | |||
= auddebug = | = auddebug = | ||
| Line 1,167: | Line 1,264: | ||
|- | |- | ||
| 2301 || | | 2301 || | ||
|} | |||
= (S2) auddmg:s = | |||
This is "nn::audio::devmgr::ISystemSessionManager". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || | |||
|} | |||
== Cmd0 == | |||
Takes a PID, an u32, an u64 pid_reserved, returns an output [[#ISystemSession|ISystemSession]]. | |||
== ISystemSession == | |||
This is "nn::audio::devmgr::ISystemSession". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Cmd || Name | |||
|- | |||
| 0 || ListPhysicalDeviceNames | |||
|- | |||
| 1 || EnableSoundDriver | |||
|- | |||
| 2 || DisableSoundDriver | |||
|- | |||
| 3 || IsSoundDriverEnabled | |||
|- | |||
| 4 || ListPhysicalDeviceIds | |||
|- | |||
| 5 || GetPhysicalDeviceId | |||
|- | |||
| 6 || GetPhysicalDeviceProfile | |||
|- | |||
| 7 || MapRawInputDevice | |||
|- | |||
| 8 || MapAndBindPhysicalDevice | |||
|- | |||
| 9 || UnmapPhysicalDevice | |||
|- | |||
| 10 || GetBoundPhysicalDeviceProfile | |||
|- | |||
| 11 || GetRawInputPhysicalDeviceProfile | |||
|- | |||
| 12 || SetVirtualDeviceGain | |||
|- | |||
| 13 || GetVirtualDeviceGain | |||
|- | |||
| 14 || SetAppletVirtualDeviceGain | |||
|- | |||
| 15 || GetAppletVirtualDeviceGain | |||
|- | |||
| 16 || SetAppletCaptureDeviceGain | |||
|- | |||
| 17 || GetAppletCaptureDeviceGain | |||
|- | |||
| 18 || SetAppletBiquadFilterMode | |||
|- | |||
| 19 || SetAppletBiquadFilterParameters | |||
|- | |||
| 20 || GetAppletBiquadFilterParameters | |||
|- | |||
| 21 || SuspendAppletVirtualDevice | |||
|- | |||
| 22 || ResumeAppletVirtualDevice | |||
|- | |||
| 23 || SetPhysicalDeviceGain | |||
|- | |||
| 24 || GetPhysicalDeviceGain | |||
|- | |||
| 25 || SetPhysicalDeviceFeature | |||
|- | |||
| 26 || GetPhysicalDeviceFeature | |||
|- | |||
| 27 || SetGlobalPhysicalDeviceFeature | |||
|- | |||
| 28 || GetGlobalPhysicalDeviceFeature | |||
|- | |||
| 29 || AcquireGlobalPhysicalDeviceEvent | |||
|- | |||
| 30 || ReleaseGlobalPhysicalDeviceEvent | |||
|- | |||
| 31 || BindPhysicalDevice | |||
|- | |||
| 32 || SetMonauralDownmixMode | |||
|- | |||
| 33 || SetControl | |||
|- | |||
| 34 || GetMonauralDownmixMode | |||
|- | |||
| 35 || GetControl | |||
|- | |||
| 36 || ShellCommand | |||
|- | |||
| 37 || SetAppletVirtualDeviceLoudnessNormalization | |||
|- | |||
| 38 || GetAppletVirtualDeviceLoudnessNormalization | |||
|- | |||
| 39 || SetLoudnessNormalizationParameters | |||
|- | |||
| 40 || GetLoudnessNormalizationParameters | |||
|- | |||
| 41 || GetLoudnessNormalizationStatistics | |||
|- | |||
| 42 || SetAppletVirtualDeviceLoudnessNormalizationBiasParameters | |||
|- | |||
| 43 || GetAppletVirtualDeviceLoudnessNormalizationBiasParameters | |||
|- | |||
| 44 || SetAppletVirtualDevicePostGain | |||
|- | |||
| 45 || GetAppletVirtualDevicePostGain | |||
|- | |||
| 46 || UnbindVirtualDevice | |||
|} | |} | ||
| Line 1,181: | Line 1,393: | ||
== Cmd0 == | == Cmd0 == | ||
Takes a PID, a Process handle, an u32, an u64 pid_reserved, returns an output [[#IUserSession_2|IUserSession]]. | Takes a PID, a Process handle, an u32, an u64 pid_reserved, returns an output [[#IUserSession_2|IUserSession]]. | ||
Official sw uses hard-coded value 0x1 for the u32. | |||
An error is returned when there's already an [[#IUserSession|IUserSession]] open with the same PID. | |||
=== IUserSession === | === IUserSession === | ||