22 #ifndef SDL_XAUDIO2_H_
23 #define SDL_XAUDIO2_H_
43 typedef enum _AUDIO_STREAM_CATEGORY {
151 #define Processor1 0x00000001
152 #define XAUDIO2_DEFAULT_PROCESSOR Processor1
154 #define XAUDIO2_E_DEVICE_INVALIDATED 0x88960004
155 #define XAUDIO2_COMMIT_NOW 0
156 #define XAUDIO2_VOICE_NOSAMPLESPLAYED 0x0100
157 #define XAUDIO2_DEFAULT_CHANNELS 0
166 #define INTERFACE IXAudio2
207 VOID *pReserved)
PURE;
210 #define IXAudio2_Release(A) ((A)->lpVtbl->Release(A))
211 #define IXAudio2_CreateSourceVoice(A,B,C,D,E,F,G,H) ((A)->lpVtbl->CreateSourceVoice(A,B,C,D,E,F,G,H))
212 #define IXAudio2_CreateMasteringVoice(A,B,C,D,E,F,G,H) ((A)->lpVtbl->CreateMasteringVoice(A,B,C,D,E,F,G,H))
213 #define IXAudio2_StartEngine(A) ((A)->lpVtbl->StartEngine(A))
214 #define IXAudio2_StopEngine(A) ((A)->lpVtbl->StopEngine(A))
218 #define INTERFACE IXAudio2SourceVoice
240 UINT32 OperationSet)
PURE;
245 UINT32 OperationSet)
PURE;
249 UINT32 OperationSet)
PURE;
253 UINT32 OperationSet)
PURE;
257 UINT32 OperationSet)
PURE;
264 UINT32 OperationSet)
PURE;
273 UINT32 OperationSet)
PURE;
275 UINT32 OperationSet)
PURE;
284 UINT32 OperationSet)
PURE;
289 #define IXAudio2SourceVoice_DestroyVoice(A) ((A)->lpVtbl->DestroyVoice(A))
290 #define IXAudio2SourceVoice_Start(A,B,C) ((A)->lpVtbl->Start(A,B,C))
291 #define IXAudio2SourceVoice_Stop(A,B,C) ((A)->lpVtbl->Stop(A,B,C))
292 #define IXAudio2SourceVoice_SubmitSourceBuffer(A,B,C) ((A)->lpVtbl->SubmitSourceBuffer(A,B,C))
293 #define IXAudio2SourceVoice_FlushSourceBuffers(A) ((A)->lpVtbl->FlushSourceBuffers(A))
294 #define IXAudio2SourceVoice_Discontinuity(A) ((A)->lpVtbl->Discontinuity(A))
295 #define IXAudio2SourceVoice_GetState(A,B,C) ((A)->lpVtbl->GetState(A,B,C))
299 #define INTERFACE IXAudio2MasteringVoice
321 UINT32 OperationSet)
PURE;
326 UINT32 OperationSet)
PURE;
330 UINT32 OperationSet)
PURE;
334 UINT32 OperationSet)
PURE;
338 UINT32 OperationSet)
PURE;
345 UINT32 OperationSet)
PURE;
356 #define IXAudio2MasteringVoice_DestroyVoice(A) ((A)->lpVtbl->DestroyVoice(A))
360 #define INTERFACE IXAudio2VoiceCallback
UINT32 MemoryUsageInBytes
IXAudio2SourceVoice ** ppSourceVoice
STDMETHOD_(ULONG, AddRef)(THIS) PURE
IXAudio2Voice * pOutputVoice
UINT32 ActiveXmaSourceVoices
IXAudio2MasteringVoice ** ppMasteringVoice
IXAudio2SourceVoice const WAVEFORMATEX UINT32 float IXAudio2VoiceCallback const XAUDIO2_VOICE_SENDS * pSendList
UINT32 MinimumCyclesPerQuantum
UINT32 MaximumCyclesPerQuantum
interface IXAudio2MasteringVoice IXAudio2MasteringVoice
UINT32 CurrentLatencyInSamples
STDMETHOD_(VOID, GetVoiceDetails)(THIS
STDMETHOD_(VOID, GetVoiceDetails)(THIS
interface IXAudio2Voice IXAudio2Voice
XAUDIO2_VOICE_STATE * pVoiceState
interface IXAudio2EngineCallback IXAudio2EngineCallback
const XAUDIO2_BUFFER * pBuffer
UINT32 ActiveSourceVoiceCount
IXAudio2Voice UINT32 UINT32 const float * pLevelMatrix
IXAudio2Voice UINT32 UINT32 DestinationChannels
UINT32 const void * pParameters
IXAudio2SubmixVoice UINT32 InputChannels
XAUDIO2_DEBUG_CONFIGURATION * pDebugConfiguration
interface IXAudio2 IXAudio2
IXAudio2Voice UINT32 UINT32 DestinationChannels
UINT64 TotalCyclesSinceLastQuery
XAUDIO2_SEND_DESCRIPTOR * pSends
UINT32 const void UINT32 ParametersByteSize
IXAudio2SourceVoice const WAVEFORMATEX UINT32 float MaxFrequencyRatio
IXAudio2Voice * pDestinationVoice
UINT32 ActiveSubmixVoiceCount
XAUDIO2_VOICE_DETAILS *pVoiceDetails PURE
UINT32 const float * pVolumes
IXAudio2MasteringVoice UINT32 UINT32 UINT32 LPCWSTR szDeviceId
IXAudio2Voice UINT32 SourceChannels
UINT32 TotalSourceVoiceCount
UINT32 const float * pVolumes
interface IXAudio2SourceVoice IXAudio2SourceVoice
IXAudio2SubmixVoice UINT32 UINT32 InputSampleRate
IXAudio2Voice UINT32 SourceChannels
XAUDIO2_VOICE_DETAILS *pVoiceDetails PURE
IXAudio2SourceVoice const WAVEFORMATEX * pSourceFormat
IXAudio2SourceVoice const WAVEFORMATEX UINT32 Flags
interface IXAudio2VoiceCallback IXAudio2VoiceCallback
const UINT32 * pDecodedPacketCumulativeBytes
IXAudio2EngineCallback *pCallback PURE
interface IXAudio2SubmixVoice IXAudio2SubmixVoice
STDMETHOD() QueryInterface(THIS_ REFIID iid, LPVOID *ppv) PURE
UINT64 AudioCyclesSinceLastQuery
IXAudio2Voice UINT32 UINT32 const float * pLevelMatrix
void * pCurrentBufferContext
IXAudio2SubmixVoice UINT32 UINT32 UINT32 UINT32 ProcessingStage
STDMETHOD_(VOID, OnVoiceProcessingPassStart)(THIS
HRESULT __stdcall XAudio2Create(_Out_ IXAudio2 **ppXAudio2, _In_ UINT32 Flags, _In_ XAUDIO2_PROCESSOR XAudio2Processor)
UINT32 GlitchesSinceEngineStarted
IXAudio2SourceVoice const WAVEFORMATEX UINT32 float IXAudio2VoiceCallback * pCallback
UINT32 ActiveResamplerCount
XAUDIO2_EFFECT_DESCRIPTOR * pEffectDescriptors
IXAudio2Voice * pDestinationVoice
UINT32 const void * pParameters
IXAudio2SubmixVoice ** ppSubmixVoice
IXAudio2MasteringVoice UINT32 UINT32 UINT32 LPCWSTR const XAUDIO2_EFFECT_CHAIN * pEffectChain
UINT32 BytesRequired PURE
UINT32 ActiveMatrixMixCount
UINT32 const void UINT32 ParametersByteSize