> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XApuProcessType

> XApuProcessType

# XApuProcessType

Defines the processing types that will be performed by XAPU client(s).

## Syntax

```cpp theme={null}
enum class XApuProcessType  : uint32_t  
{  
    None = 0,  
    DecodeOpus = 1,  
    DecodeConvertOpus = 2,  
    ConvertPCM = 3,  
}  
```

## Constants

| Constant          | Description                                                                                                                                                                                                      |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| None              | Invalid process type.                                                                                                                                                                                            |
| DecodeOpus        | Decode Opus stream(s). Input stream(s) can be CELT, SILK or Hybrid. Only Mono and Stereo streams of 2.5 (CELT only), 5 (CELT only), 10 or 20 milliseconds packet durations at 48000 sample rate are supported.   |
| DecodeConvertOpus | Decode and Sample rate Convert of Opus stream(s). The input stream can be CELT, SILK or Hybrid. Only Mono and Stereo streams of 2.5 (CELT only), 5 (CELT only), 10 or 20 milliseconds packet durations at 48000. |
| ConvertPCM        | Sample rate Convert of uncompressed PCM float (32-bit), mono and stereo stream(s) at 48000 hz sample rate.                                                                                                       |

## Remarks

For more information about parameters passed to allocated resources, see [XApuConnectInputParameters](/reference/audio/xapu/structs/xapuconnectinputparameters). For more information about connecting and allocating resources for an Audio Processing Unit (XAPU), see [XApuConnect](/reference/audio/xapu/functions/xapuconnect). For more information about decode and convert processing parameters, see [XApuDecodeConvertCommand](/reference/audio/xapu/structs/xapudecodeconvertcommand).

## Requirements

**Header:** xapu.h

**Supported platforms:** XBOX Series X|S

## See also

[XApuGetUtilization](/reference/audio/xapu/functions/xapugetutilization)\
[XApuStateOptions](/reference/audio/xapu/enums/xapustateoptions)\
[XAPU](/reference/audio/xapu/xapu_members)


## Related topics

- [XApuStateOptions](/reference/audio/xapu/enums/xapustateoptions.md)
- [XApuConnectInputParameters](/reference/audio/xapu/structs/xapuconnectinputparameters.md)
- [XApuCommandOptions](/reference/audio/xapu/enums/xapucommandoptions.md)
- [XApuDecodeConvertActivateCommand](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand.md)
- [XApuGetUtilization](/reference/audio/xapu/functions/xapugetutilization.md)
