1 #ifndef PA_WIN_WASAPI_H
2 #define PA_WIN_WASAPI_H
56 typedef 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)
90 typedef void (*PaWasapiHostProcessorCallback) (
void *inputBuffer,
long inputFrames,
91 void *outputBuffer,
long outputFrames,
95 typedef enum PaWasapiDeviceRole
97 eRoleRemoteNetworkDevice = 0,
104 eRoleUnknownDigitalPassthrough,
107 eRoleUnknownFormFactor
113 typedef enum PaWasapiJackConnectionType
115 eJackConnTypeUnknown,
116 eJackConnType3Point5mm,
117 eJackConnTypeQuarter,
118 eJackConnTypeAtapiInternal,
120 eJackConnTypeOptical,
121 eJackConnTypeOtherDigital,
122 eJackConnTypeOtherAnalog,
123 eJackConnTypeMultichannelAnalogDIN,
124 eJackConnTypeXlrProfessional,
125 eJackConnTypeRJ11Modem,
126 eJackConnTypeCombination
128 PaWasapiJackConnectionType;
132 typedef enum PaWasapiJackGeoLocation
135 eJackGeoLocRear = 0x1,
141 eJackGeoLocRearPanel,
143 eJackGeoLocInsideMobileLid,
146 eJackGeoLocOutsideMobileLid,
148 eJackGeoLocReserved5,
149 eJackGeoLocReserved6,
151 PaWasapiJackGeoLocation;
155 typedef enum PaWasapiJackGenLocation
157 eJackGenLocPrimaryBox = 0,
162 PaWasapiJackGenLocation;
166 typedef enum PaWasapiJackPortConnection
168 eJackPortConnJack = 0,
169 eJackPortConnIntegratedDevice,
170 eJackPortConnBothIntegratedAndJack,
173 PaWasapiJackPortConnection;
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;
220 PaWinWaveFormatChannelMask channelMask;
227 PaWasapiHostProcessorCallback hostProcessorOutput;
228 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.
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.
PaHostApiTypeId hostApiType