Audio services: Difference between revisions
|  Adding names from factory titles and minor corrections | |||
| Line 98: | Line 98: | ||
| ! Offset || Size || Description | ! Offset || Size || Description | ||
| |- | |- | ||
| | 0x00 || 8 || Pointer to next buffer | | 0x00 || 8 || Pointer to next buffer (unused) | ||
| |- | |- | ||
| | 0x08 || 8 || Pointer to sample buffer | | 0x08 || 8 || Pointer to sample buffer | ||
| Line 288: | Line 288: | ||
| Returns the upper limit of the rendering time in percent. (u32) | Returns the upper limit of the rendering time in percent. (u32) | ||
| = audout | = audout:a = | ||
| This is "nn::audio::detail::IAudioOutManagerForApplet | This is "nn::audio::detail::IAudioOutManagerForApplet". | ||
| {| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
| Line 295: | Line 295: | ||
| ! Cmd || Name | ! Cmd || Name | ||
| |- | |- | ||
| | 0 ||  | | 0 || RequestSuspendAudioOuts | ||
| |- | |- | ||
| | 1 ||  | | 1 || RequestResumeAudioOuts | ||
| |- | |||
| | 2 || GetAudioOutsProcessMasterVolume | |||
| |- | |||
| | 3 || SetAudioOutsProcessMasterVolume | |||
| |} | |||
| = audin:a = | |||
| This is "nn::audio::detail::IAudioInManagerForApplet". | |||
| {| class="wikitable" border="1" | |||
| |- | |||
| ! Cmd || Name | |||
| |- | |||
| | 0 || RequestSuspendAudioIns | |||
| |- | |||
| | 1 || RequestResumeAudioIns | |||
| |- | |||
| | 2 || GetAudioInsProcessMasterVolume | |||
| |- | |||
| | 3 || SetAudioInsProcessMasterVolume | |||
| |} | |||
| = audrec:a = | |||
| This is "nn::audio::detail::IFinalOutputRecorderManagerForApplet". | |||
| {| class="wikitable" border="1" | |||
| |- | |||
| ! Cmd || Name | |||
| |- | |||
| | 0 || RequestSuspendFinalOutputRecorders | |||
| |- | |||
| | 1 || RequestResumeFinalOutputRecorders | |||
| |} | |||
| = audren:a = | |||
| This is "nn::audio::detail::IAudioRendererManagerForApplet". | |||
| {| class="wikitable" border="1" | |||
| |- | |||
| ! Cmd || Name | |||
| |- | |||
| | 0 || RequestSuspendAudioRenderers | |||
| |- | |||
| | 1 || RequestResumeAudioRenderers | |||
| |- | |||
| | 2 || GetAudioRenderersProcessMasterVolume | |||
| |- | |||
| | 3 || SetAudioRenderersProcessMasterVolume | |||
| |- | |||
| | 4 || RegisterAppletResourceUserId | |||
| |- | |||
| | 5 || UnregisterAppletResourceUserId | |||
| |} | |} | ||
| Line 462: | Line 514: | ||
| ! Cmd || Name | ! Cmd || Name | ||
| |- | |- | ||
| | 0 || [[# | | 0 || [[#Initialize]] | ||
| |- | |- | ||
| | 1 || [[# | | 1 || [[#GetWorkBufferSize]] | ||
| |- | |- | ||
| | 2 || [3.0.0+]  | | 2 || [3.0.0+] InitializeEx | ||
| |- | |- | ||
| | 3 || [3.0.0+]  | | 3 || [3.0.0+] GetWorkBufferSizeEx | ||
| |} | |} | ||
| ==  | == Initialize == | ||
| Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64, an u32 '''WorkBufferSize''' and a TransferMemory handle. Returns an [[#IHardwareOpusDecoder]] object. The TransferMemory is created by the user-process with permissions=0. | Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64, an u32 '''WorkBufferSize''' and a TransferMemory handle for '''WorkBuffer'''. Returns an [[#IHardwareOpusDecoder]] object. The TransferMemory is created by the user-process with permissions=0. | ||
| ==  | == GetWorkBufferSize== | ||
| Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64. Returns the required size for the decoder's work buffer. | Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64. Returns the required size for the decoder's work buffer. | ||
| Line 484: | Line 536: | ||
| ! Cmd || Name | ! Cmd || Name | ||
| |- | |- | ||
| | 0 || [[# | | 0 || [[#DecodeInterleaved]] | ||
| |- | |- | ||
| | 1 || [[# | | 1 || [[#SetContext]] | ||
| |- | |- | ||
| | 2 || [3.0.0+]  | | 2 || [3.0.0+] DecodeInterleavedEx | ||
| |- | |- | ||
| | 3 || [3.0.0+]  | | 3 || [3.0.0+] SetContextEx | ||
| |- | |- | ||
| | 4 || [4.0.0+] | | 4 || [4.0.0+] | ||
| Line 497: | Line 549: | ||
| |} | |} | ||
| ===  | === DecodeInterleaved === | ||
| Takes a type-5 input buffer ('''OpusDataIn''') and a type-6 output buffer ('''PcmDataOut'''). Decodes the Opus source data to PCM and returns two u32s '''DecodedSampleCount''' and '''DecodedDataSize'''. | Takes a type-5 input buffer ('''OpusDataIn''') and a type-6 output buffer ('''PcmDataOut'''). Decodes the Opus source data to PCM and returns two u32s '''DecodedSampleCount''' and '''DecodedDataSize'''. | ||
| ===  | === SetContext === | ||
| Takes a type-5 input buffer ('''DecoderContextIn'''). Sends the unknown context data to the hardware decoder. | Takes a type-5 input buffer ('''DecoderContextIn'''). Sends the unknown context data to the hardware decoder. | ||
| = auddebug = | = auddebug = | ||
| This is "nn::audio::detail::IAudioDebugManager". | |||
| This service doesn't exist in retail units. | This service doesn't exist in retail units. | ||
| {| class="wikitable" border="1" | |||
| |- | |||
| ! Cmd || Name | |||
| |- | |||
| | 0 || | |||
| |- | |||
| | 1 || | |||
| |- | |||
| | 2 || | |||
| |- | |||
| | 3 || | |||
| |} | |||
| [[Category:Services]] | [[Category:Services]] | ||