Changes

712 bytes removed ,  21:13, 30 December 2017
no edit summary
Line 10: Line 10:     
== OpenAudioOut ==
 
== OpenAudioOut ==
Takes two u64s (an interface ID and a PID placeholder?), a PID, a process handle, and the name of the interface you want to connect to. Returns an [[#IAudioOut]] object and four u32s: the sample rate, channel count, PCM format, and an unknown field. PCM format 2 is INT16.
+
Takes two u64s (an interface ID and a PID placeholder?), a PID, a process handle, and the name of the interface you want to connect to. Returns an [[#IAudioOut]] object.
    
== IAudioOut ==
 
== IAudioOut ==
Line 23: Line 23:  
| 2 || StopAudioOut
 
| 2 || StopAudioOut
 
|-
 
|-
| 3 || [[#AppendAudioOutBuffer]] taking a type 0x5 (A descriptor) buffer
+
| 3 || AppendAudioOutBuffer
 
|-
 
|-
| 4 || [[#RegisterBufferEvent]]
+
| 4 || RegisterBufferEvent
 
|-
 
|-
| 5 || [[#GetReleasedAudioOutBuffer]] taking a type 0x6 (B descriptor) buffer
+
| 5 || GetReleasedAudioOutBuffer
 
|-
 
|-
 
| 6 || ContainsAudioOutBuffer
 
| 6 || ContainsAudioOutBuffer
|-
  −
| 7 || [[#AppendAudioOutBuffer]] taking a type 0x21 buffer
  −
|-
  −
| 8 || [[#GetReleasedAudioOutBuffer]] taking a type 0x22 buffer
   
|}
 
|}
   Line 40: Line 36:  
Returns an AudioOutState, 0x00=Started 0x01=Stopped
 
Returns an AudioOutState, 0x00=Started 0x01=Stopped
   −
=== AppendAudioOutBuffer ===
+
= audout:a =
 
  −
Takes a u64 (not sure what this is, might act as some sort of identifier for the audio buffer? official applications seem to use the address of the audio buffer struct for this) and a buffer.
  −
The format of said buffer is as follows:
      
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Offset || Size || Description
+
! Cmd || Name
 
|-
 
|-
| 0x00 || 8 || Pointer to the sample data pointer.
+
| 0 || RequestSuspendAudioOuts
 
|-
 
|-
| 0x08 || 8 || Pointer to sample data.
+
| 1 || RequestResumeAudioOuts
 +
|}
 +
 
 +
= audout:d =
 +
 
 +
{| class="wikitable" border="1"
 
|-
 
|-
| 0x10 || 8 || Capacity of sample buffer
+
! Cmd || Name
 
|-
 
|-
| 0x18 || 8 || Size of data in sample buffer
+
| 0 || [[#RequestSuspendAudioOutsForDebug]]
 
|-
 
|-
| 0x20 || 8 || Unknown. Zero works.
+
| 1 || [[#RequestResumeAudioOutsForDebug]]
 
|}
 
|}
   −
=== RegisterBufferEvent ===
+
== RequestSuspendAudioOutsForDebug ==
   −
Returns an event handle that is signalled when a buffer is released
+
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
   −
=== GetReleasedAudioOutBuffer ===
+
== RequestResumeAudioOutsForDebug ==
   −
Takes a buffer, which it will fill with the identifiers passed from [[#AppendAudioOutBuffer]] of audio buffers that have been released. Will return a u32 (may indicate how many buffers were released?)
+
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
    
= audin:u =
 
= audin:u =
Line 102: Line 100:     
Returns an AudioInState, 0x00=Started 0x01=Stopped
 
Returns an AudioInState, 0x00=Started 0x01=Stopped
 +
 +
= audin:a =
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || RequestSuspendAudioIns
 +
|-
 +
| 1 || RequestResumeAudioIns
 +
|}
 +
 +
= audin:d =
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || [[#RequestSuspendAudioInsForDebug]]
 +
|-
 +
| 1 || [[#RequestResumeAudioInsForDebug]]
 +
|}
 +
 +
== RequestSuspendAudioInsForDebug ==
 +
 +
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
 +
 +
== RequestResumeAudioInsForDebug ==
 +
 +
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
    
= audrec:u =
 
= audrec:u =
Line 166: Line 194:  
| 6 || StopAudioRenderer
 
| 6 || StopAudioRenderer
 
|-
 
|-
| 7 || Unknown
+
| 7 || QuerySystemEvent
 
|-
 
|-
 
| 8 || SetAudioRendererRenderingTimeLimit
 
| 8 || SetAudioRendererRenderingTimeLimit
Line 172: Line 200:  
| 9 || GetAudioRendererRenderingTimeLimit
 
| 9 || GetAudioRendererRenderingTimeLimit
 
|}
 
|}
  −
= audout:a, audin:a, audrec:a and audren:a =
  −
  −
{| class="wikitable" border="1"
  −
|-
  −
! Cmd || Name
  −
|-
  −
| 0 || RequestSuspend
  −
|-
  −
| 1 || RequestResume
  −
|}
  −
  −
= audout:d, audin:d, audrec:d and audren:d =
  −
  −
{| class="wikitable" border="1"
  −
|-
  −
! Cmd || Name
  −
|-
  −
| 0 || [[#RequestSuspendForDebug]]
  −
|-
  −
| 1 || [[#RequestResumeForDebug]]
  −
|}
  −
  −
== RequestSuspendForDebug ==
  −
  −
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
  −
  −
== RequestResumeForDebug ==
  −
  −
Takes an [[AM_services#AppletResourceUserId|AppletResourceUserId]]. (u64)
      
= codecctl =
 
= codecctl =
44

edits