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 == | ||