Audio services: Difference between revisions

 
Line 371: Line 371:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#GetSampleRate]]
| 0 || [[#GetSampleRate|GetSampleRate]]
|-
|-
| 1 || [[#GetSampleCount]]
| 1 || [[#GetSampleCount|GetSampleCount]]
|-
|-
| 2 || [[#GetMixBufferCount]]
| 2 || [[#GetMixBufferCount|GetMixBufferCount]]
|-
|-
| 3 || [[#GetState]]
| 3 || [[#GetState|GetState]]
|-
|-
| 4 || RequestUpdate
| 4 || [[#RequestUpdate|RequestUpdate]]
|-
|-
| 5 || Start
| 5 || [[#Start|Start]]
|-
|-
| 6 || Stop
| 6 || [[#Stop|Stop]]
|-
|-
| 7 || QuerySystemEvent
| 7 || [[#QuerySystemEvent|QuerySystemEvent]]
|-
|-
| 8 || [[#SetRenderingTimeLimit]]
| 8 || [[#SetRenderingTimeLimit|SetRenderingTimeLimit]]
|-
|-
| 9 || [[#GetRenderingTimeLimit]]
| 9 || [[#GetRenderingTimeLimit|GetRenderingTimeLimit]]
|-
|-
| 10 || [3.0.0+] RequestUpdateAuto
| 10 || [3.0.0+] [[#RequestUpdateAuto|RequestUpdateAuto]]
|-
|-
| 11 || [3.0.0+] ExecuteAudioRendererRendering
| 11 || [3.0.0+] ExecuteAudioRendererRendering
Line 411: Line 411:
=== GetState ===
=== GetState ===
No input. Returns an u32 '''State''' (0=Started, 1=Stopped).
No input. Returns an u32 '''State''' (0=Started, 1=Stopped).
The output is determined using the flag updated by [[#Start|Start]]/[[#Stop|Stop]].
=== RequestUpdate ===
Takes two type-0x6 output buffers and a type-0x5 input buffer.
=== Start ===
No input/output.
Besides logging, this calls a func which essentially clears a state field and sets a flag, and also calls a func.
The thread which handles generating/sending ADSP commands will only do so when the above flag indicates the state is Started.
=== Stop ===
No input/output.
After logging, this calls a func which essentially returns when the flag from [[#Start|Start]] is not set. Various funcs are called, then the flag is cleared. If needed, this waits on an event, then this returns.
=== QuerySystemEvent ===
No input, returns an output Event handle.


=== SetRenderingTimeLimit ===
=== SetRenderingTimeLimit ===
Line 417: Line 437:
=== GetRenderingTimeLimit ===
=== GetRenderingTimeLimit ===
No input. Returns an u32 '''RenderingTimeLimit'''.
No input. Returns an u32 '''RenderingTimeLimit'''.
=== RequestUpdateAuto ===
Takes two type-0x22 output buffers and a type-0x21 input buffer.
This is identical to [[#RequestUpdate|RequestUpdate]] besides the buffer-types.


== IAudioDevice ==
== IAudioDevice ==