Audio services: Difference between revisions
Line 589: | Line 589: | ||
| 1 || [[#GetWorkBufferSize]] | | 1 || [[#GetWorkBufferSize]] | ||
|- | |- | ||
| 2 || [3.0.0+] OpenHardwareOpusDecoderForMultiStream | | 2 || [3.0.0+] [[#OpenHardwareOpusDecoderForMultiStream]] | ||
|- | |- | ||
| 3 || [3.0.0+] GetWorkBufferSizeForMultiStream | | 3 || [3.0.0+] [[#GetWorkBufferSizeForMultiStream]] | ||
|} | |} | ||
Line 601: | Line 601: | ||
== GetWorkBufferSize== | == GetWorkBufferSize== | ||
Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64. Returns the required size for the decoder's work buffer. Official user-processes align the output size to page-alignment. | Takes two u32s '''SampleRate''' and '''ChannelCount''' packed as an u64. Returns the required size for the decoder's work buffer. Official user-processes align the output size to page-alignment. | ||
== OpenHardwareOpusDecoderForMultiStream == | |||
Takes a type-0x19 input buffer, an u32 '''WorkBufferSize''' and a TransferMemory handle for '''WorkBuffer'''. Returns an [[#IHardwareOpusDecoder]] object. The TransferMemory is created by the user-process with permissions=0. | |||
The input buffer is a 0x110-byte struct. | |||
== GetWorkBufferSizeForMultiStream == | |||
Takes a type-0x19 input buffer. Returns the u32 required size for the decoder's work buffer. Official user-processes align the output size to page-alignment. | |||
The input buffer is a 0x110-byte struct. The user-process initializes this struct the same way as [[#OpenHardwareOpusDecoderForMultiStream]]. | |||
== IHardwareOpusDecoder == | == IHardwareOpusDecoder == |