56typedef enum PaWasapiFlags
59 paWinWasapiExclusive = (1 << 0),
62 paWinWasapiRedirectHostProcessor = (1 << 1),
65 paWinWasapiUseChannelMask = (1 << 2),
70 paWinWasapiPolling = (1 << 3),
74 paWinWasapiThreadPriority = (1 << 4)
77#define paWinWasapiExclusive (paWinWasapiExclusive)
78#define paWinWasapiRedirectHostProcessor (paWinWasapiRedirectHostProcessor)
79#define paWinWasapiUseChannelMask (paWinWasapiUseChannelMask)
80#define paWinWasapiPolling (paWinWasapiPolling)
81#define paWinWasapiThreadPriority (paWinWasapiThreadPriority)
90typedef void (*PaWasapiHostProcessorCallback) (
void *inputBuffer,
long inputFrames,
91 void *outputBuffer,
long outputFrames,
95typedef enum PaWasapiDeviceRole
97 eRoleRemoteNetworkDevice = 0,
104 eRoleUnknownDigitalPassthrough,
107 eRoleUnknownFormFactor
113typedef enum PaWasapiJackConnectionType
115 eJackConnTypeUnknown,
116 eJackConnType3Point5mm,
117 eJackConnTypeQuarter,
118 eJackConnTypeAtapiInternal,
120 eJackConnTypeOptical,
121 eJackConnTypeOtherDigital,
122 eJackConnTypeOtherAnalog,
123 eJackConnTypeMultichannelAnalogDIN,
124 eJackConnTypeXlrProfessional,
125 eJackConnTypeRJ11Modem,
126 eJackConnTypeCombination
128PaWasapiJackConnectionType;
132typedef enum PaWasapiJackGeoLocation
135 eJackGeoLocRear = 0x1,
141 eJackGeoLocRearPanel,
143 eJackGeoLocInsideMobileLid,
146 eJackGeoLocOutsideMobileLid,
148 eJackGeoLocReserved5,
149 eJackGeoLocReserved6,
151PaWasapiJackGeoLocation;
155typedef enum PaWasapiJackGenLocation
157 eJackGenLocPrimaryBox = 0,
162PaWasapiJackGenLocation;
166typedef enum PaWasapiJackPortConnection
168 eJackPortConnJack = 0,
169 eJackPortConnIntegratedDevice,
170 eJackPortConnBothIntegratedAndJack,
173PaWasapiJackPortConnection;
179 eThreadPriorityNone = 0,
181 eThreadPriorityCapture,
182 eThreadPriorityDistribution,
183 eThreadPriorityGames,
184 eThreadPriorityPlayback,
186 eThreadPriorityWindowManager
194 unsigned long channelMapping;
196 PaWasapiJackConnectionType connectionType;
197 PaWasapiJackGeoLocation geoLocation;
198 PaWasapiJackGenLocation genLocation;
199 PaWasapiJackPortConnection portConnection;
200 unsigned int isConnected;
215 eAudioCategoryOther = 0,
216 eAudioCategoryCommunications = 3,
217 eAudioCategoryAlerts = 4,
218 eAudioCategorySoundEffects = 5,
219 eAudioCategoryGameEffects = 6,
220 eAudioCategoryGameMedia = 7,
221 eAudioCategoryGameChat = 8,
222 eAudioCategorySpeech = 9,
223 eAudioCategoryMovie = 10,
224 eAudioCategoryMedia = 11
268 PaWasapiHostProcessorCallback hostProcessorInput;
PaError PaWasapi_GetJackDescription(PaDeviceIndex nDevice, int jindex, PaWasapiJackDescription *pJackDescription)
PaError PaWasapi_ThreadPriorityBoost(void **hTask, PaWasapiThreadPriority nPriorityClass)
PaError PaWasapi_GetJackCount(PaDeviceIndex nDevice, int *jcount)
@ eThreadPriorityAudio
Default for Shared mode.
@ eThreadPriorityProAudio
Default for Exclusive mode.
@ eStreamOptionRaw
bypass WASAPI Audio Engine DSP effects, supported since Windows 8.1
@ eStreamOptionNone
default
@ eStreamOptionMatchFormat
force WASAPI Audio Engine into a stream format, supported since Windows 10
int PaWasapi_GetDeviceRole(PaDeviceIndex nDevice)
int PaWasapi_GetDeviceDefaultFormat(void *pFormat, unsigned int nFormatSize, PaDeviceIndex nDevice)
PaError PaWasapi_ThreadPriorityRevert(void *hTask)
PaError PaWasapi_GetFramesPerHostBuffer(PaStream *pStream, unsigned int *nInput, unsigned int *nOutput)
The portable PortAudio API.
PaWasapiHostProcessorCallback hostProcessorOutput
PaWinWaveFormatChannelMask channelMask
PaWasapiStreamCategory streamCategory
PaWasapiThreadPriority threadPriority
PaHostApiTypeId hostApiType
PaWasapiStreamOption streamOption