IXAPO::IsInputFormatSupported method

Queries if a specific input format is supported for a given output format.


HRESULT IsInputFormatSupported(
  const WAVEFORMATEX *pOutputFormat,
  const WAVEFORMATEX *pRequestedInputFormat,
  WAVEFORMATEX       **ppSupportedInputFormat



Output format.


Input format to check for being supported.


If not NULL, and the input format is not supported for the given output format, ppSupportedInputFormat returns a pointer to the closest input format that is supported. Use XAPOFree to free the returned structure.

Return value

Returns S_OK if the format pair is supported. Returns XAPO_E_FORMAT_UNSUPPORTED if the format pair is not supported.


The IXAPO::IsOutputFormatSupported and IsInputFormatSupported methods allow an XAPO to indicate which audio formats it is capable of processing. If a requested format is not supported, the XAPO should return the closest format that it does support. The closest format should be determined based on frame rate, bit depth, and channel count, in that order of importance. The behavior of IsInputFormatSupported is allowed to change, based on the internal state of the XAPO, but its behavior should remain constant between calls to the IXAPO::LockForProcess and IXAPO::UnlockForProcess methods.

Platform Requirements

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)


Target Platform Windows
Header xapo.h

See also