SDL_xaudio2.h
Go to the documentation of this file.
/*
Simple DirectMedia Layer
Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
#ifndef _SDL_XAUDIO2_H
#define _SDL_XAUDIO2_H
#include <windows.h>
#include <mmreg.h>
#include <objbase.h>
/* XAudio2 packs its structure members together as tightly as possible.
This pragma is needed to ensure compatibility with XAudio2 on 64-bit
platforms.
*/
#pragma pack(push, 1)
typedef interface IXAudio2 IXAudio2;
typedef interface IXAudio2SourceVoice IXAudio2SourceVoice;
typedef interface IXAudio2MasteringVoice IXAudio2MasteringVoice;
typedef interface IXAudio2EngineCallback IXAudio2EngineCallback;
typedef interface IXAudio2VoiceCallback IXAudio2VoiceCallback;
typedef interface IXAudio2Voice IXAudio2Voice;
typedef interface IXAudio2SubmixVoice IXAudio2SubmixVoice;
typedef enum _AUDIO_STREAM_CATEGORY {
AudioCategory_Other = 0,
AudioCategory_ForegroundOnlyMedia,
AudioCategory_BackgroundCapableMedia,
AudioCategory_Communications,
AudioCategory_Alerts,
AudioCategory_SoundEffects,
AudioCategory_GameEffects,
AudioCategory_GameMedia,
AudioCategory_GameChat,
AudioCategory_Movie,
AudioCategory_Media
} AUDIO_STREAM_CATEGORY;
typedef struct XAUDIO2_BUFFER {
UINT32 Flags;
UINT32 AudioBytes;
const BYTE *pAudioData;
UINT32 PlayBegin;
UINT32 PlayLength;
UINT32 LoopBegin;
UINT32 LoopLength;
UINT32 LoopCount;
void *pContext;
} XAUDIO2_BUFFER;
typedef struct XAUDIO2_BUFFER_WMA {
const UINT32 *pDecodedPacketCumulativeBytes;
UINT32 PacketCount;
} XAUDIO2_BUFFER_WMA;
typedef struct XAUDIO2_SEND_DESCRIPTOR {
UINT32 Flags;
IXAudio2Voice *pOutputVoice;
} XAUDIO2_SEND_DESCRIPTOR;
typedef struct XAUDIO2_VOICE_SENDS {
UINT32 SendCount;
XAUDIO2_SEND_DESCRIPTOR *pSends;
} XAUDIO2_VOICE_SENDS;
typedef struct XAUDIO2_EFFECT_DESCRIPTOR {
IUnknown *pEffect;
BOOL InitialState;
UINT32 OutputChannels;
} XAUDIO2_EFFECT_DESCRIPTOR;
typedef struct XAUDIO2_EFFECT_CHAIN {
UINT32 EffectCount;
XAUDIO2_EFFECT_DESCRIPTOR *pEffectDescriptors;
} XAUDIO2_EFFECT_CHAIN;
typedef struct XAUDIO2_PERFORMANCE_DATA {
UINT64 AudioCyclesSinceLastQuery;
UINT64 TotalCyclesSinceLastQuery;
UINT32 MinimumCyclesPerQuantum;
UINT32 MaximumCyclesPerQuantum;
UINT32 MemoryUsageInBytes;
UINT32 CurrentLatencyInSamples;
UINT32 GlitchesSinceEngineStarted;
UINT32 ActiveSourceVoiceCount;
UINT32 TotalSourceVoiceCount;
UINT32 ActiveSubmixVoiceCount;
UINT32 ActiveResamplerCount;
UINT32 ActiveMatrixMixCount;
UINT32 ActiveXmaSourceVoices;
UINT32 ActiveXmaStreams;
} XAUDIO2_PERFORMANCE_DATA;
typedef struct XAUDIO2_DEBUG_CONFIGURATION {
UINT32 TraceMask;
UINT32 BreakMask;
BOOL LogThreadID;
BOOL LogFileline;
BOOL LogFunctionName;
BOOL LogTiming;
} XAUDIO2_DEBUG_CONFIGURATION;
typedef struct XAUDIO2_VOICE_DETAILS {
UINT32 CreationFlags;
UINT32 ActiveFlags;
UINT32 InputChannels;
UINT32 InputSampleRate;
} XAUDIO2_VOICE_DETAILS;
typedef enum XAUDIO2_FILTER_TYPE {
LowPassFilter = 0,
BandPassFilter = 1,
HighPassFilter = 2,
NotchFilter = 3,
LowPassOnePoleFilter = 4,
HighPassOnePoleFilter = 5
} XAUDIO2_FILTER_TYPE;
typedef struct XAUDIO2_FILTER_PARAMETERS {
XAUDIO2_FILTER_TYPE Type;
float Frequency;
float OneOverQ;
} XAUDIO2_FILTER_PARAMETERS;
typedef struct XAUDIO2_VOICE_STATE {
void *pCurrentBufferContext;
UINT32 BuffersQueued;
UINT64 SamplesPlayed;
} XAUDIO2_VOICE_STATE;
typedef UINT32 XAUDIO2_PROCESSOR;
#define Processor1 0x00000001
#define XAUDIO2_DEFAULT_PROCESSOR Processor1
#define XAUDIO2_E_DEVICE_INVALIDATED 0x88960004
#define XAUDIO2_COMMIT_NOW 0
#define XAUDIO2_VOICE_NOSAMPLESPLAYED 0x0100
#define XAUDIO2_DEFAULT_CHANNELS 0
extern HRESULT __stdcall XAudio2Create(
_Out_ IXAudio2 **ppXAudio2,
_In_ UINT32 Flags,
_In_ XAUDIO2_PROCESSOR XAudio2Processor
);
#undef INTERFACE
#define INTERFACE IXAudio2
typedef interface IXAudio2 {
const struct IXAudio2Vtbl FAR* lpVtbl;
} IXAudio2;
typedef const struct IXAudio2Vtbl IXAudio2Vtbl;
const struct IXAudio2Vtbl
{
/* IUnknown */
STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
/* IXAudio2 */
STDMETHOD_(HRESULT, RegisterForCallbacks)(THIS, IXAudio2EngineCallback *pCallback) PURE;
STDMETHOD_(VOID, UnregisterForCallbacks)(THIS, IXAudio2EngineCallback *pCallback) PURE;
STDMETHOD_(HRESULT, CreateSourceVoice)(THIS, IXAudio2SourceVoice **ppSourceVoice,
const WAVEFORMATEX *pSourceFormat,
UINT32 Flags,
float MaxFrequencyRatio,
IXAudio2VoiceCallback *pCallback,
const XAUDIO2_VOICE_SENDS *pSendList,
const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
STDMETHOD_(HRESULT, CreateSubmixVoice)(THIS, IXAudio2SubmixVoice **ppSubmixVoice,
UINT32 InputChannels,
UINT32 InputSampleRate,
UINT32 Flags,
UINT32 ProcessingStage,
const XAUDIO2_VOICE_SENDS *pSendList,
const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
STDMETHOD_(HRESULT, CreateMasteringVoice)(THIS, IXAudio2MasteringVoice **ppMasteringVoice,
UINT32 InputChannels,
UINT32 InputSampleRate,
UINT32 Flags,
LPCWSTR szDeviceId,
const XAUDIO2_EFFECT_CHAIN *pEffectChain,
AUDIO_STREAM_CATEGORY StreamCategory) PURE;
STDMETHOD_(HRESULT, StartEngine)(THIS) PURE;
STDMETHOD_(VOID, StopEngine)(THIS) PURE;
STDMETHOD_(HRESULT, CommitChanges)(THIS, UINT32 OperationSet) PURE;
STDMETHOD_(HRESULT, GetPerformanceData)(THIS, XAUDIO2_PERFORMANCE_DATA *pPerfData) PURE;
STDMETHOD_(HRESULT, SetDebugConfiguration)(THIS, XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,
VOID *pReserved) PURE;
};
#define IXAudio2_Release(A) ((A)->lpVtbl->Release(A))
#define IXAudio2_CreateSourceVoice(A,B,C,D,E,F,G,H) ((A)->lpVtbl->CreateSourceVoice(A,B,C,D,E,F,G,H))
#define IXAudio2_CreateMasteringVoice(A,B,C,D,E,F,G,H) ((A)->lpVtbl->CreateMasteringVoice(A,B,C,D,E,F,G,H))
#define IXAudio2_StartEngine(A) ((A)->lpVtbl->StartEngine(A))
#define IXAudio2_StopEngine(A) ((A)->lpVtbl->StopEngine(A))
#undef INTERFACE
#define INTERFACE IXAudio2SourceVoice
typedef interface IXAudio2SourceVoice {
const struct IXAudio2SourceVoiceVtbl FAR* lpVtbl;
} IXAudio2SourceVoice;
typedef const struct IXAudio2SourceVoiceVtbl IXAudio2SourceVoiceVtbl;
const struct IXAudio2SourceVoiceVtbl
{
/* MSDN says that IXAudio2Voice inherits from IXAudio2, but MSVC's debugger
* says otherwise, and that IXAudio2Voice doesn't inherit from any other
* interface!
*/
/* IXAudio2Voice */
STDMETHOD_(VOID, GetVoiceDetails)(THIS, XAUDIO2_VOICE_DETAILS *pVoiceDetails) PURE;
STDMETHOD_(HRESULT, SetOutputVoices)(THIS, const XAUDIO2_VOICE_SENDS *pSendList) PURE;
STDMETHOD_(HRESULT, SetEffectChain)(THIS, const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
STDMETHOD_(HRESULT, EnableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
STDMETHOD_(HRESULT, DisableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetEffectState)(THIS, UINT32 EffectIndex, BOOL *pEnabled) PURE;
STDMETHOD_(HRESULT, SetEffectParameters)(THIS, UINT32 EffectIndex,
const void *pParameters,
UINT32 ParametersByteSize,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetEffectParameters)(THIS, UINT32 EffectIndex,
void *pParameters,
UINT32 ParametersByteSize) PURE;
STDMETHOD_(HRESULT, SetFilterParameters)(THIS, const XAUDIO2_FILTER_PARAMETERS *pParameters,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetFilterParameters)(THIS, XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
STDMETHOD_(HRESULT, SetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
XAUDIO2_FILTER_PARAMETERS *pParameters,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
STDMETHOD_(HRESULT, SetVolume)(THIS, float Volume,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetVolume)(THIS, float *pVolume) PURE;
STDMETHOD_(HRESULT, SetChannelVolumes)(THIS, UINT32 Channels,
const float *pVolumes,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetChannelVolumes)(THIS, UINT32 Channels,
float *pVolumes) PURE;
STDMETHOD_(HRESULT, SetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
UINT32 SourceChannels,
UINT32 DestinationChannels,
const float *pLevelMatrix,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
UINT32 SourceChannels,
UINT32 DestinationChannels,
float *pLevelMatrix) PURE;
STDMETHOD_(VOID, DestroyVoice)(THIS) PURE;
/* IXAudio2SourceVoice */
STDMETHOD_(HRESULT, Start)(THIS, UINT32 Flags,
UINT32 OperationSet) PURE;
STDMETHOD_(HRESULT, Stop)(THIS, UINT32 Flags,
UINT32 OperationSet) PURE;
STDMETHOD_(HRESULT, SubmitSourceBuffer)(THIS, const XAUDIO2_BUFFER *pBuffer,
const XAUDIO2_BUFFER_WMA *pBufferWMA) PURE;
STDMETHOD_(HRESULT, FlushSourceBuffers)(THIS) PURE;
STDMETHOD_(HRESULT, Discontinuity)(THIS) PURE;
STDMETHOD_(HRESULT, ExitLoop)(THIS, UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetState)(THIS, XAUDIO2_VOICE_STATE *pVoiceState,
UINT32 Flags) PURE;
STDMETHOD_(HRESULT, SetFrequencyRatio)(THIS, float Ratio,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetFrequencyRatio)(THIS, float *pRatio) PURE;
STDMETHOD_(HRESULT, SetSourceSampleRate)(THIS, UINT32 NewSourceSampleRate) PURE;
};
#define IXAudio2SourceVoice_DestroyVoice(A) ((A)->lpVtbl->DestroyVoice(A))
#define IXAudio2SourceVoice_Start(A,B,C) ((A)->lpVtbl->Start(A,B,C))
#define IXAudio2SourceVoice_Stop(A,B,C) ((A)->lpVtbl->Stop(A,B,C))
#define IXAudio2SourceVoice_SubmitSourceBuffer(A,B,C) ((A)->lpVtbl->SubmitSourceBuffer(A,B,C))
#define IXAudio2SourceVoice_FlushSourceBuffers(A) ((A)->lpVtbl->FlushSourceBuffers(A))
#define IXAudio2SourceVoice_Discontinuity(A) ((A)->lpVtbl->Discontinuity(A))
#define IXAudio2SourceVoice_GetState(A,B,C) ((A)->lpVtbl->GetState(A,B,C))
#undef INTERFACE
#define INTERFACE IXAudio2MasteringVoice
typedef interface IXAudio2MasteringVoice {
const struct IXAudio2MasteringVoiceVtbl FAR* lpVtbl;
} IXAudio2MasteringVoice;
typedef const struct IXAudio2MasteringVoiceVtbl IXAudio2MasteringVoiceVtbl;
const struct IXAudio2MasteringVoiceVtbl
{
/* MSDN says that IXAudio2Voice inherits from IXAudio2, but MSVC's debugger
* says otherwise, and that IXAudio2Voice doesn't inherit from any other
* interface!
*/
/* IXAudio2Voice */
STDMETHOD_(VOID, GetVoiceDetails)(THIS, XAUDIO2_VOICE_DETAILS *pVoiceDetails) PURE;
STDMETHOD_(HRESULT, SetOutputVoices)(THIS, const XAUDIO2_VOICE_SENDS *pSendList) PURE;
STDMETHOD_(HRESULT, SetEffectChain)(THIS, const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
STDMETHOD_(HRESULT, EnableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
STDMETHOD_(HRESULT, DisableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetEffectState)(THIS, UINT32 EffectIndex, BOOL *pEnabled) PURE;
STDMETHOD_(HRESULT, SetEffectParameters)(THIS, UINT32 EffectIndex,
const void *pParameters,
UINT32 ParametersByteSize,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetEffectParameters)(THIS, UINT32 EffectIndex,
void *pParameters,
UINT32 ParametersByteSize) PURE;
STDMETHOD_(HRESULT, SetFilterParameters)(THIS, const XAUDIO2_FILTER_PARAMETERS *pParameters,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetFilterParameters)(THIS, XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
STDMETHOD_(HRESULT, SetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
XAUDIO2_FILTER_PARAMETERS *pParameters,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
STDMETHOD_(HRESULT, SetVolume)(THIS, float Volume,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetVolume)(THIS, float *pVolume) PURE;
STDMETHOD_(HRESULT, SetChannelVolumes)(THIS, UINT32 Channels,
const float *pVolumes,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetChannelVolumes)(THIS, UINT32 Channels,
float *pVolumes) PURE;
STDMETHOD_(HRESULT, SetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
UINT32 SourceChannels,
UINT32 DestinationChannels,
const float *pLevelMatrix,
UINT32 OperationSet) PURE;
STDMETHOD_(VOID, GetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
UINT32 SourceChannels,
UINT32 DestinationChannels,
float *pLevelMatrix) PURE;
STDMETHOD_(VOID, DestroyVoice)(THIS) PURE;
/* IXAudio2SourceVoice */
STDMETHOD_(VOID, GetChannelMask)(THIS, DWORD *pChannelMask) PURE;
};
#define IXAudio2MasteringVoice_DestroyVoice(A) ((A)->lpVtbl->DestroyVoice(A))
#undef INTERFACE
#define INTERFACE IXAudio2VoiceCallback
typedef interface IXAudio2VoiceCallback {
const struct IXAudio2VoiceCallbackVtbl FAR* lpVtbl;
} IXAudio2VoiceCallback;
typedef const struct IXAudio2VoiceCallbackVtbl IXAudio2VoiceCallbackVtbl;
const struct IXAudio2VoiceCallbackVtbl
{
/* MSDN says that IXAudio2VoiceCallback inherits from IXAudio2, but SDL's
* own code says otherwise, and that IXAudio2VoiceCallback doesn't inherit
* from any other interface!
*/
/* IXAudio2VoiceCallback */
STDMETHOD_(VOID, OnVoiceProcessingPassStart)(THIS, UINT32 BytesRequired) PURE;
STDMETHOD_(VOID, OnVoiceProcessingPassEnd)(THIS) PURE;
STDMETHOD_(VOID, OnStreamEnd)(THIS) PURE;
STDMETHOD_(VOID, OnBufferStart)(THIS, void *pBufferContext) PURE;
STDMETHOD_(VOID, OnBufferEnd)(THIS, void *pBufferContext) PURE;
STDMETHOD_(VOID, OnLoopEnd)(THIS, void *pBufferContext) PURE;
STDMETHOD_(VOID, OnVoiceError)(THIS, void *pBufferContext, HRESULT Error) PURE;
};
#pragma pack(pop) /* Undo pragma push */
#endif /* _SDL_XAUDIO2_H */
/* vi: set ts=4 sw=4 expandtab: */
BandPassFilter
Definition: SDL_xaudio2.h:130
XAUDIO2_BUFFER
Definition: SDL_xaudio2.h:57
XAUDIO2_PERFORMANCE_DATA::MemoryUsageInBytes
UINT32 MemoryUsageInBytes
Definition: SDL_xaudio2.h:100
XAUDIO2_BUFFER::pContext
void * pContext
Definition: SDL_xaudio2.h:66
AudioCategory_ForegroundOnlyMedia
Definition: SDL_xaudio2.h:45
XAUDIO2_DEBUG_CONFIGURATION::LogFunctionName
BOOL LogFunctionName
Definition: SDL_xaudio2.h:117
XAUDIO2_SEND_DESCRIPTOR::pOutputVoice
IXAudio2Voice * pOutputVoice
Definition: SDL_xaudio2.h:76
AudioCategory_Media
Definition: SDL_xaudio2.h:54
XAUDIO2_VOICE_DETAILS::CreationFlags
UINT32 CreationFlags
Definition: SDL_xaudio2.h:122
XAUDIO2_PERFORMANCE_DATA::ActiveXmaSourceVoices
UINT32 ActiveXmaSourceVoices
Definition: SDL_xaudio2.h:108
XAUDIO2_BUFFER::LoopBegin
UINT32 LoopBegin
Definition: SDL_xaudio2.h:63
XAUDIO2_DEBUG_CONFIGURATION::LogThreadID
BOOL LogThreadID
Definition: SDL_xaudio2.h:115
AudioCategory_Alerts
Definition: SDL_xaudio2.h:48
AudioCategory_GameMedia
Definition: SDL_xaudio2.h:51
XAUDIO2_PERFORMANCE_DATA::MinimumCyclesPerQuantum
UINT32 MinimumCyclesPerQuantum
Definition: SDL_xaudio2.h:98
AudioCategory_SoundEffects
Definition: SDL_xaudio2.h:49
XAUDIO2_PERFORMANCE_DATA::MaximumCyclesPerQuantum
UINT32 MaximumCyclesPerQuantum
Definition: SDL_xaudio2.h:99
XAUDIO2_DEBUG_CONFIGURATION
Definition: SDL_xaudio2.h:112
IXAudio2MasteringVoice
interface IXAudio2MasteringVoice IXAudio2MasteringVoice
Definition: SDL_xaudio2.h:37
XAUDIO2_PERFORMANCE_DATA::CurrentLatencyInSamples
UINT32 CurrentLatencyInSamples
Definition: SDL_xaudio2.h:101
LowPassFilter
Definition: SDL_xaudio2.h:129
XAUDIO2_SEND_DESCRIPTOR::Flags
UINT32 Flags
Definition: SDL_xaudio2.h:75
XAUDIO2_FILTER_PARAMETERS::OneOverQ
float OneOverQ
Definition: SDL_xaudio2.h:140
AudioCategory_Movie
Definition: SDL_xaudio2.h:53
XAUDIO2_BUFFER::LoopLength
UINT32 LoopLength
Definition: SDL_xaudio2.h:64
XAUDIO2_DEBUG_CONFIGURATION::TraceMask
UINT32 TraceMask
Definition: SDL_xaudio2.h:113
IXAudio2MasteringVoiceVtbl::Volume
float Volume
Definition: SDL_xaudio2.h:333
XAUDIO2_PROCESSOR
UINT32 XAUDIO2_PROCESSOR
Definition: SDL_xaudio2.h:150
IXAudio2Voice
interface IXAudio2Voice IXAudio2Voice
Definition: SDL_xaudio2.h:40
IXAudio2SourceVoiceVtbl::pVoiceState
XAUDIO2_VOICE_STATE * pVoiceState
Definition: SDL_xaudio2.h:281
XAUDIO2_DEBUG_CONFIGURATION::LogTiming
BOOL LogTiming
Definition: SDL_xaudio2.h:118
IXAudio2EngineCallback
interface IXAudio2EngineCallback IXAudio2EngineCallback
Definition: SDL_xaudio2.h:38
XAUDIO2_VOICE_STATE::SamplesPlayed
UINT64 SamplesPlayed
Definition: SDL_xaudio2.h:146
XAUDIO2_PERFORMANCE_DATA::ActiveSourceVoiceCount
UINT32 ActiveSourceVoiceCount
Definition: SDL_xaudio2.h:103
AudioCategory_Other
Definition: SDL_xaudio2.h:44
XAUDIO2_EFFECT_DESCRIPTOR::InitialState
BOOL InitialState
Definition: SDL_xaudio2.h:86
XAUDIO2_BUFFER::AudioBytes
UINT32 AudioBytes
Definition: SDL_xaudio2.h:59
XAUDIO2_FILTER_PARAMETERS::Frequency
float Frequency
Definition: SDL_xaudio2.h:139
XAUDIO2_BUFFER_WMA::PacketCount
UINT32 PacketCount
Definition: SDL_xaudio2.h:71
NotchFilter
Definition: SDL_xaudio2.h:132
IXAudio2SourceVoiceVtbl::Flags
UINT32 Flags
Definition: SDL_xaudio2.h:272
XAUDIO2_VOICE_DETAILS::InputSampleRate
UINT32 InputSampleRate
Definition: SDL_xaudio2.h:125
IXAudio2
interface IXAudio2 IXAudio2
Definition: SDL_xaudio2.h:35
XAUDIO2_PERFORMANCE_DATA::TotalCyclesSinceLastQuery
UINT64 TotalCyclesSinceLastQuery
Definition: SDL_xaudio2.h:97
XAUDIO2_VOICE_SENDS::pSends
XAUDIO2_SEND_DESCRIPTOR * pSends
Definition: SDL_xaudio2.h:81
XAUDIO2_EFFECT_DESCRIPTOR::pEffect
IUnknown * pEffect
Definition: SDL_xaudio2.h:85
AudioCategory_BackgroundCapableMedia
Definition: SDL_xaudio2.h:46
XAUDIO2_VOICE_DETAILS::InputChannels
UINT32 InputChannels
Definition: SDL_xaudio2.h:124
XAUDIO2_VOICE_STATE::BuffersQueued
UINT32 BuffersQueued
Definition: SDL_xaudio2.h:145
XAUDIO2_FILTER_TYPE
XAUDIO2_FILTER_TYPE
Definition: SDL_xaudio2.h:128
XAUDIO2_SEND_DESCRIPTOR
Definition: SDL_xaudio2.h:74
FAR
#define FAR
Definition: SDL_directx.h:37
XAUDIO2_PERFORMANCE_DATA::ActiveSubmixVoiceCount
UINT32 ActiveSubmixVoiceCount
Definition: SDL_xaudio2.h:105
AUDIO_STREAM_CATEGORY
AUDIO_STREAM_CATEGORY
Definition: SDL_xaudio2.h:43
IXAudio2MasteringVoiceVtbl::pVolumes
UINT32 const float * pVolumes
Definition: SDL_xaudio2.h:336
XAUDIO2_VOICE_STATE
Definition: SDL_xaudio2.h:143
XAUDIO2_PERFORMANCE_DATA
Definition: SDL_xaudio2.h:95
IXAudio2Vtbl::szDeviceId
IXAudio2MasteringVoice UINT32 UINT32 UINT32 LPCWSTR szDeviceId
Definition: SDL_xaudio2.h:195
IXAudio2MasteringVoiceVtbl::SourceChannels
IXAudio2Voice UINT32 SourceChannels
Definition: SDL_xaudio2.h:341
XAUDIO2_PERFORMANCE_DATA::TotalSourceVoiceCount
UINT32 TotalSourceVoiceCount
Definition: SDL_xaudio2.h:104
IXAudio2SourceVoiceVtbl::pVolumes
UINT32 const float * pVolumes
Definition: SDL_xaudio2.h:255
IXAudio2SourceVoice
interface IXAudio2SourceVoice IXAudio2SourceVoice
Definition: SDL_xaudio2.h:36
XAUDIO2_EFFECT_CHAIN
Definition: SDL_xaudio2.h:90
XAUDIO2_FILTER_PARAMETERS
Definition: SDL_xaudio2.h:137
IXAudio2SourceVoiceVtbl
Definition: SDL_xaudio2.h:223
XAUDIO2_DEBUG_CONFIGURATION::LogFileline
BOOL LogFileline
Definition: SDL_xaudio2.h:116
XAUDIO2_VOICE_SENDS
Definition: SDL_xaudio2.h:79
IXAudio2SourceVoiceVtbl::SourceChannels
IXAudio2Voice UINT32 SourceChannels
Definition: SDL_xaudio2.h:260
XAUDIO2_DEBUG_CONFIGURATION::BreakMask
UINT32 BreakMask
Definition: SDL_xaudio2.h:114
HighPassFilter
Definition: SDL_xaudio2.h:131
XAUDIO2_EFFECT_DESCRIPTOR::OutputChannels
UINT32 OutputChannels
Definition: SDL_xaudio2.h:87
HighPassOnePoleFilter
Definition: SDL_xaudio2.h:134
XAUDIO2_EFFECT_DESCRIPTOR
Definition: SDL_xaudio2.h:84
AudioCategory_GameEffects
Definition: SDL_xaudio2.h:50
IXAudio2VoiceCallback
interface IXAudio2VoiceCallback IXAudio2VoiceCallback
Definition: SDL_xaudio2.h:39
IXAudio2SourceVoiceVtbl::Ratio
float Ratio
Definition: SDL_xaudio2.h:283
XAUDIO2_BUFFER_WMA::pDecodedPacketCumulativeBytes
const UINT32 * pDecodedPacketCumulativeBytes
Definition: SDL_xaudio2.h:70
XAUDIO2_VOICE_DETAILS::ActiveFlags
UINT32 ActiveFlags
Definition: SDL_xaudio2.h:123
IXAudio2SubmixVoice
interface IXAudio2SubmixVoice IXAudio2SubmixVoice
Definition: SDL_xaudio2.h:41
LowPassOnePoleFilter
Definition: SDL_xaudio2.h:133
XAUDIO2_PERFORMANCE_DATA::AudioCyclesSinceLastQuery
UINT64 AudioCyclesSinceLastQuery
Definition: SDL_xaudio2.h:96
XAUDIO2_EFFECT_CHAIN::EffectCount
UINT32 EffectCount
Definition: SDL_xaudio2.h:91
XAUDIO2_VOICE_STATE::pCurrentBufferContext
void * pCurrentBufferContext
Definition: SDL_xaudio2.h:144
IXAudio2Vtbl
Definition: SDL_xaudio2.h:171
XAudio2Create
HRESULT __stdcall XAudio2Create(_Out_ IXAudio2 **ppXAudio2, _In_ UINT32 Flags, _In_ XAUDIO2_PROCESSOR XAudio2Processor)
XAUDIO2_BUFFER::pAudioData
const BYTE * pAudioData
Definition: SDL_xaudio2.h:60
XAUDIO2_BUFFER::LoopCount
UINT32 LoopCount
Definition: SDL_xaudio2.h:65
XAUDIO2_BUFFER::Flags
UINT32 Flags
Definition: SDL_xaudio2.h:58
IXAudio2VoiceCallbackVtbl
Definition: SDL_xaudio2.h:365
XAUDIO2_PERFORMANCE_DATA::GlitchesSinceEngineStarted
UINT32 GlitchesSinceEngineStarted
Definition: SDL_xaudio2.h:102
XAUDIO2_PERFORMANCE_DATA::ActiveResamplerCount
UINT32 ActiveResamplerCount
Definition: SDL_xaudio2.h:106
XAUDIO2_BUFFER::PlayLength
UINT32 PlayLength
Definition: SDL_xaudio2.h:62
AudioCategory_GameChat
Definition: SDL_xaudio2.h:52
XAUDIO2_BUFFER::PlayBegin
UINT32 PlayBegin
Definition: SDL_xaudio2.h:61
XAUDIO2_EFFECT_CHAIN::pEffectDescriptors
XAUDIO2_EFFECT_DESCRIPTOR * pEffectDescriptors
Definition: SDL_xaudio2.h:92
XAUDIO2_BUFFER_WMA
Definition: SDL_xaudio2.h:69
IXAudio2SourceVoiceVtbl::Volume
float Volume
Definition: SDL_xaudio2.h:252
AudioCategory_Communications
Definition: SDL_xaudio2.h:47
IXAudio2MasteringVoiceVtbl
Definition: SDL_xaudio2.h:304
XAUDIO2_PERFORMANCE_DATA::ActiveXmaStreams
UINT32 ActiveXmaStreams
Definition: SDL_xaudio2.h:109
XAUDIO2_VOICE_DETAILS
Definition: SDL_xaudio2.h:121
XAUDIO2_FILTER_PARAMETERS::Type
XAUDIO2_FILTER_TYPE Type
Definition: SDL_xaudio2.h:138
XAUDIO2_PERFORMANCE_DATA::ActiveMatrixMixCount
UINT32 ActiveMatrixMixCount
Definition: SDL_xaudio2.h:107
XAUDIO2_VOICE_SENDS::SendCount
UINT32 SendCount
Definition: SDL_xaudio2.h:80