87 #include <sdkddkver.h> 89 #if(_WIN32_WINNT < _WIN32_WINNT_WIN8) 90 #error "This version of XAudio2 is available only in Windows 8 or later. Use the XAudio2 headers and libraries from the DirectX SDK with applications that target Windows 7 and earlier versions." 91 #endif // (_WIN32_WINNT < _WIN32_WINNT_WIN8) 100 #include <basetyps.h> 103 interface __declspec(uuid("A410B984-9839-4819-A0BE-2856AE6B3ADB")) IXAPO;
104 interface __declspec(uuid("26D95C66-80
F2-499
A-AD54-5AE7F01C6D98")) IXAPOParameters;
107 #if !defined(GUID_DEFS_ONLY) // ignore rest if only GUID definitions requested 113 #define FACILITY_XAPO 0x897 114 #define XAPO_E_FORMAT_UNSUPPORTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_XAPO, 0x01) // requested audio format unsupported 117 #define XAPO_MIN_CHANNELS 1 118 #define XAPO_MAX_CHANNELS 64 121 #define XAPO_MIN_FRAMERATE 1000 122 #define XAPO_MAX_FRAMERATE 200000 125 #define XAPO_REGISTRATION_STRING_LENGTH 256 131 #define XAPO_FLAG_CHANNELS_MUST_MATCH 0x00000001 135 #define XAPO_FLAG_FRAMERATE_MUST_MATCH 0x00000002 141 #define XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH 0x00000004 150 #define XAPO_FLAG_BUFFERCOUNT_MUST_MATCH 0x00000008 165 #define XAPO_FLAG_INPLACE_REQUIRED 0x00000020 179 #define XAPO_FLAG_INPLACE_SUPPORTED 0x00000010 183 #pragma pack(push, 1) // set packing alignment to ensure consistency across arbitrary build environments 262 #define XAPOAlloc(size) CoTaskMemAlloc(size) 263 #define XAPOFree(p) CoTaskMemFree(p) 271 #define INTERFACE IXAPO 312 STDMETHOD(IsInputFormatSupported) (THIS_
const WAVEFORMATEX* pOutputFormat,
const WAVEFORMATEX* pRequestedInputFormat, _Outptr_opt_
WAVEFORMATEX** ppSupportedInputFormat) PURE;
341 STDMETHOD(IsOutputFormatSupported) (THIS_
const WAVEFORMATEX* pInputFormat,
const WAVEFORMATEX* pRequestedOutputFormat, _Outptr_opt_
WAVEFORMATEX** ppSupportedOutputFormat) PURE;
388 STDMETHOD_(
void, Reset) (THIS) PURE;
438 STDMETHOD_(
void, UnlockForProcess) (THIS) PURE;
503 STDMETHOD_(
UINT32, CalcInputFrames) (THIS_
UINT32 OutputFrameCount) PURE;
525 STDMETHOD_(
UINT32, CalcOutputFrames) (THIS_
UINT32 InputFrameCount) PURE;
534 #define INTERFACE IXAPOParameters 554 STDMETHOD_(
void, SetParameters) (THIS_ _In_reads_bytes_(ParameterByteSize)
const void* pParameters,
UINT32 ParameterByteSize) PURE;
572 STDMETHOD_(
void, GetParameters) (THIS_ _Out_writes_bytes_(ParameterByteSize)
void* pParameters,
UINT32 ParameterByteSize) PURE;
578 #if !defined(__cplusplus) 580 #define IXAPO_QueryInterface(This, riid, ppInterface) \ 581 ( (This)->lpVtbl->QueryInterface(This, riid, ppInterface) ) 583 #define IXAPO_AddRef(This) \ 584 ( (This)->lpVtbl->AddRef(This) ) 586 #define IXAPO_Release(This) \ 587 ( (This)->lpVtbl->Release(This) ) 589 #define IXAPO_GetRegistrationProperties(This, ppRegistrationProperties) \ 590 ( (This)->lpVtbl->GetRegistrationProperties(This, ppRegistrationProperties) ) 592 #define IXAPO_IsInputFormatSupported(This, pOutputFormat, pRequestedInputFormat, ppSupportedInputFormat) \ 593 ( (This)->lpVtbl->IsInputFormatSupported(This, pOutputFormat, pRequestedInputFormat, ppSupportedInputFormat) ) 595 #define IXAPO_IsOutputFormatSupported(This, pInputFormat, pRequestedOutputFormat, ppSupportedOutputFormat) \ 596 ( (This)->lpVtbl->IsOutputFormatSupported(This, pInputFormat, pRequestedOutputFormat, ppSupportedOutputFormat) ) 598 #define IXAPO_Initialize(This, pData, DataByteSize) \ 599 ( (This)->lpVtbl->Initialize(This, pData, DataByteSize) ) 601 #define IXAPO_Reset(This) \ 602 ( (This)->lpVtbl->Reset(This) ) 604 #define IXAPO_LockForProcess(This, InputLockedParameterCount, pInputLockedParameters, OutputLockedParameterCount, pOutputLockedParameters) \ 605 ( (This)->lpVtbl->LockForProcess(This, InputLockedParameterCount, pInputLockedParameters, OutputLockedParameterCount, pOutputLockedParameters) ) 607 #define IXAPO_UnlockForProcess(This) \ 608 ( (This)->lpVtbl->UnlockForProcess(This) ) 610 #define IXAPO_Process(This, InputProcessParameterCount, pInputProcessParameters, OutputProcessParameterCount, pOutputProcessParameters, IsEnabled) \ 611 ( (This)->lpVtbl->Process(This, InputProcessParameterCount, pInputProcessParameters, OutputProcessParameterCount, pOutputProcessParameters, IsEnabled) ) 613 #define IXAPO_CalcInputFrames(This, OutputFrameCount) \ 614 ( (This)->lpVtbl->CalcInputFrames(This, OutputFrameCount) ) 616 #define IXAPO_CalcOutputFrames(This, InputFrameCount) \ 617 ( (This)->lpVtbl->CalcOutputFrames(This, InputFrameCount) ) 621 #define IXAPOParameters_QueryInterface(This, riid, ppInterface) \ 622 ( (This)->lpVtbl->QueryInterface(This, riid, ppInterface) ) 624 #define IXAPOParameters_AddRef(This) \ 625 ( (This)->lpVtbl->AddRef(This) ) 627 #define IXAPOParameters_Release(This) \ 628 ( (This)->lpVtbl->Release(This) ) 630 #define IXAPOParameters_SetParameters(This, pParameters, ParameterByteSize) \ 631 ( (This)->lpVtbl->SetParameters(This, pParameters, ParameterByteSize) ) 633 #define IXAPOParameters_GetParameters(This, pParameters, ParameterByteSize) \ 634 ( (This)->lpVtbl->GetParameters(This, pParameters, ParameterByteSize) ) 635 #endif // !defined(__cplusplus) 638 #pragma pack(pop) // revert packing alignment 639 #endif // !defined(GUID_DEFS_ONLY) CLSID clsid
Definition: xapo.h:188
UINT32 MajorVersion
Definition: xapo.h:191
#define F2(x, y, z)
Definition: md5.c:41
UINT32 Flags
Definition: xapo.h:193
interface __declspec(uuid("A410B984-9839-4819-A0BE-2856AE6B3ADB")) IXAPO
void * pBuffer
Definition: xapo.h:249
UINT32 MinorVersion
Definition: xapo.h:192
XAPO_BUFFER_FLAGS
Definition: xapo.h:229
UINT32 MaxFrameCount
Definition: xapo.h:209
WCHAR CopyrightInfo[XAPO_REGISTRATION_STRING_LENGTH]
Definition: xapo.h:190
UINT32 MaxOutputBufferCount
Definition: xapo.h:197
_Outptr_ IUnknown _In_reads_bytes_opt_(InitDataByteSize) const void *pInitData
UINT32 MinOutputBufferCount
Definition: xapo.h:196
UINT32 ValidFrameCount
Definition: xapo.h:251
UINT32 MinInputBufferCount
Definition: xapo.h:194
XAPO_BUFFER_FLAGS BufferFlags
Definition: xapo.h:250
#define A(i)
Definition: ecp_curves.c:884
#define XAPO_REGISTRATION_STRING_LENGTH
Definition: xapo.h:125
struct XAPO_PROCESS_BUFFER_PARAMETERS XAPO_PROCESS_BUFFER_PARAMETERS
struct XAPO_REGISTRATION_PROPERTIES XAPO_REGISTRATION_PROPERTIES
unsigned int BOOL
Definition: gctypes.h:51
uint32_t UINT32
Definition: coretypes.h:10
struct XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS XAPO_LOCKFORPROCESS_PARAMETERS
DECLARE_INTERFACE_(IXAPO, IUnknown)
Definition: xapo.h:272
Definition: audiodefs.h:40
const WAVEFORMATEX * pFormat
Definition: xapo.h:208
UINT32 MaxInputBufferCount
Definition: xapo.h:195
WCHAR FriendlyName[XAPO_REGISTRATION_STRING_LENGTH]
Definition: xapo.h:189