Changes

662 bytes added ,  01:58, 3 November 2018
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 ==