Changes

Jump to navigation Jump to search
1,967 bytes added ,  19:34, 25 February 2018
no edit summary
Line 20: Line 20:     
== OpenAudioOut ==
 
== OpenAudioOut ==
Takes a type-5 input buffer ('''DeviceNameIn'''), a type-6 output buffer ('''DeviceNameOut'''), two u32s '''SampleRate''' (must be 48000) and '''ChannelCount''' (high u16 can't be 0, official apps pass 0xCAFE0000), one u64 '''ClientPID''', a PID and a copy-handle.
+
Takes a type-5 input buffer ('''DeviceNameIn'''), a type-6 output buffer ('''DeviceNameOut'''), two u32s '''SampleRate''' (must be 48000) and '''ChannelCount''' (only the higher u16 is used), one u64 '''ClientPID''', a PID and a copy-handle.
 
Returns an [[#IAudioOut]] object and four u32s: the sample rate, channel count, [[#PCM_format|PCM format]], and the initial AudioOutState.
 
Returns an [[#IAudioOut]] object and four u32s: the sample rate, channel count, [[#PCM_format|PCM format]], and the initial AudioOutState.
   Line 180: Line 180:     
=== GetAudioInState ===
 
=== GetAudioInState ===
 
+
Returns an u32 '''AudioInState''' (0x00=Started, 0x01=Stopped).
Returns an AudioInState, 0x00=Started 0x01=Stopped (u32)
      
= audrec:u =
 
= audrec:u =
Line 234: Line 233:  
| 2 || GetAudioRenderersProcessMasterVolume
 
| 2 || GetAudioRenderersProcessMasterVolume
 
|-
 
|-
| 3 || SetAudioRenderersProcessMasterVolume
+
| 3 || [3.0.0+] SetAudioRenderersProcessMasterVolume
 +
|-
 +
| 4 || [4.0.0+]
 
|}
 
|}
   Line 263: Line 264:  
|-
 
|-
 
| 9 || [[#GetAudioRendererRenderingTimeLimit]]
 
| 9 || [[#GetAudioRendererRenderingTimeLimit]]
 +
|-
 +
| 10 || [3.0.0+] RequestUpdateAudioRendererEx
 +
|-
 +
| 11 || [3.0.0+]
 
|}
 
|}
   Line 308: Line 313:     
== RequestSuspendForDebug ==
 
== RequestSuspendForDebug ==
 
+
Takes an u64 [[AM_services#AppletResourceUserId|AppletResourceUserId]].
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
      
== RequestResumeForDebug ==
 
== RequestResumeForDebug ==
 +
Takes an u64 [[AM_services#AppletResourceUserId|AppletResourceUserId]].
   −
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
+
= audctl =
 +
This is "nn::audioctrl::detail::IAudioController".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 ||
 +
|-
 +
| 1 ||
 +
|-
 +
| 2 ||
 +
|-
 +
| 3 ||
 +
|-
 +
| 4 ||
 +
|-
 +
| 5 ||
 +
|-
 +
| 6 ||
 +
|-
 +
| 7 ||
 +
|-
 +
| 8 ||
 +
|-
 +
| 9 ||
 +
|-
 +
| 10 ||
 +
|-
 +
| 11 ||
 +
|-
 +
| 12 ||
 +
|-
 +
| 13 ||
 +
|-
 +
| 14 ||
 +
|-
 +
| 15 ||
 +
|-
 +
| 16 ||
 +
|-
 +
| 17 || [3.0.0+]
 +
|-
 +
| 18 || [3.0.0+]
 +
|-
 +
| 19 || [3.0.0+]
 +
|-
 +
| 20 || [3.0.0+]
 +
|-
 +
| 21 || [3.0.0+]
 +
|-
 +
| 22 || [3.0.0+]
 +
|-
 +
| 23 || [4.0.0+]
 +
|-
 +
| 24 || [4.0.0+]
 +
|-
 +
| 25 || [4.0.0+]
 +
|-
 +
| 26 || [4.0.0+]
 +
|}
    
= codecctl =
 
= codecctl =
Line 389: Line 454:  
== IsCodecDeviceRequested ==
 
== IsCodecDeviceRequested ==
 
Returns a bool.
 
Returns a bool.
 +
 +
= hwopus =
 +
This is "nn::codec::detail::IHardwareOpusDecoderManager".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || [[#OpenHardwareOpusDecoder]]
 +
|-
 +
| 1 || [[#GetHardwareOpusDecoderWorkBufferSize]]
 +
|-
 +
| 2 || [3.0.0+] OpenHardwareOpusDecoderEx
 +
|-
 +
| 3 || [3.0.0+] GetHardwareOpusDecoderWorkBufferSizeEx
 +
|}
 +
 +
== OpenHardwareOpusDecoder ==
 +
Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64, an u32 '''WorkBufferSize''' and an unknown handle. Returns an [[#IHardwareOpusDecoder]] object.
 +
 +
== GetHardwareOpusDecoderWorkBufferSize ==
 +
Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64. Returns the required size for the decoder's work buffer.
 +
 +
== IHardwareOpusDecoder ==
 +
This is "nn::codec::detail::IHardwareOpusDecoder".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || [[#Decode]]
 +
|-
 +
| 1 || [[#SendDecoderContext]]
 +
|-
 +
| 2 || [3.0.0+] DecodeEx
 +
|-
 +
| 3 || [3.0.0+] SendDecoderContextEx
 +
|-
 +
| 4 || [4.0.0+]
 +
|-
 +
| 5 || [4.0.0+]
 +
|}
 +
 +
=== Decode ===
 +
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'''.
 +
 +
=== SendDecoderContext ===
 +
Takes a type-5 input buffer ('''DecoderContextIn'''). Sends the unknown context data to the hardware decoder.
 +
 +
= auddebug =
 +
This service doesn't exist in retail units.
    
[[Category:Services]]
 
[[Category:Services]]

Navigation menu