CXAPOBase::IsOutputFormatSupported Method

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

Syntax

public:
HRESULT IsOutputFormatSupported(
         const WAVEFORMATEX *pInputFormat,
         const WAVEFORMATEX *pRequestedOutputFormat,
         WAVEFORMATEX **ppSupportedOutputFormat
)  

Parameters

pInputFormat
Type: WAVEFORMATEX *

Input format.

pRequestedOutputFormat
Type: WAVEFORMATEX *

Output format to check for being supported.

ppSupportedOutputFormat
Type: WAVEFORMATEX **

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

Return value

Type: HRESULT 

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

Remarks

The IXAPO::IsInputFormatSupported and IsOutputFormatSupported 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 IsOutputFormatSupported 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.

Requirements

Header: Declared in xapobase.h.

Library: Use xapobase.lib.

See also

CXAPOBase

CXAPOBase Members