Merge branch 'winrt' into 'master'
WASAPI: corrections for Windows 10 UWP +1: Ross Bencina, Anonymous, Roland Winklmeier Merged-on: https://assembla.com/code/portaudio/git/merge_requests/4995123
This commit is contained in:
commit
1bdcb9e413
1 changed files with 14 additions and 11 deletions
|
|
@ -213,6 +213,8 @@
|
||||||
PA_DEFINE_IID(IAudioClient, 1cb9ad4c, dbfa, 4c32, b1, 78, c2, f5, 68, a7, 03, b2);
|
PA_DEFINE_IID(IAudioClient, 1cb9ad4c, dbfa, 4c32, b1, 78, c2, f5, 68, a7, 03, b2);
|
||||||
// "726778CD-F60A-4EDA-82DE-E47610CD78AA"
|
// "726778CD-F60A-4EDA-82DE-E47610CD78AA"
|
||||||
PA_DEFINE_IID(IAudioClient2, 726778cd, f60a, 4eda, 82, de, e4, 76, 10, cd, 78, aa);
|
PA_DEFINE_IID(IAudioClient2, 726778cd, f60a, 4eda, 82, de, e4, 76, 10, cd, 78, aa);
|
||||||
|
// "7ED4EE07-8E67-4CD4-8C1A-2B7A5987AD42"
|
||||||
|
PA_DEFINE_IID(IAudioClient3, 7ed4ee07, 8e67, 4cd4, 8c, 1a, 2b, 7a, 59, 87, ad, 42);
|
||||||
// "1BE09788-6894-4089-8586-9A2A6C265AC5"
|
// "1BE09788-6894-4089-8586-9A2A6C265AC5"
|
||||||
PA_DEFINE_IID(IMMEndpoint, 1be09788, 6894, 4089, 85, 86, 9a, 2a, 6c, 26, 5a, c5);
|
PA_DEFINE_IID(IMMEndpoint, 1be09788, 6894, 4089, 85, 86, 9a, 2a, 6c, 26, 5a, c5);
|
||||||
// "A95664D2-9614-4F35-A746-DE8DB63617E6"
|
// "A95664D2-9614-4F35-A746-DE8DB63617E6"
|
||||||
|
|
@ -1059,7 +1061,11 @@ static EWindowsVersion GetWindowsVersion()
|
||||||
|
|
||||||
return version;
|
return version;
|
||||||
#else
|
#else
|
||||||
return WINDOWS_8_SERVER2012;
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
|
||||||
|
return WINDOWS_10_SERVER2016;
|
||||||
|
#else
|
||||||
|
return WINDOWS_8_SERVER2012;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1091,17 +1097,11 @@ static const IID *GetAudioClientIID()
|
||||||
if (cli_iid == NULL)
|
if (cli_iid == NULL)
|
||||||
{
|
{
|
||||||
UINT32 cli_version = GetAudioClientVersion();
|
UINT32 cli_version = GetAudioClientVersion();
|
||||||
if (cli_version <= 1)
|
switch (cli_version)
|
||||||
{
|
{
|
||||||
cli_iid = &pa_IID_IAudioClient;
|
case 3: cli_iid = &pa_IID_IAudioClient3; break;
|
||||||
}
|
case 2: cli_iid = &pa_IID_IAudioClient2; break;
|
||||||
else
|
default: cli_iid = &pa_IID_IAudioClient; break;
|
||||||
{
|
|
||||||
switch (cli_version)
|
|
||||||
{
|
|
||||||
case 3: cli_iid = &pa_IID_IAudioClient2; cli_version = 2; break; // use IAudioClient2 for Windows 10+ until IAudioClient3 functions are required
|
|
||||||
default: cli_iid = &pa_IID_IAudioClient2; cli_version = 2; break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT(("WASAPI: IAudioClient version = %d\n", cli_version));
|
PRINT(("WASAPI: IAudioClient version = %d\n", cli_version));
|
||||||
|
|
@ -1405,12 +1405,15 @@ static HRESULT ActivateAudioInterface(const PaWasapiDeviceInfo *deviceInfo, IAud
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
#ifdef PA_WINRT
|
#ifdef PA_WINRT
|
||||||
|
// Windows 10 SDK 10.0.15063.0 has SignalObjectAndWait defined again (unlike in 10.0.14393.0 and lower)
|
||||||
|
#if !defined(WDK_NTDDI_VERSION) || (WDK_NTDDI_VERSION < NTDDI_WIN10_RS2)
|
||||||
static DWORD SignalObjectAndWait(HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, BOOL bAlertable)
|
static DWORD SignalObjectAndWait(HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, BOOL bAlertable)
|
||||||
{
|
{
|
||||||
SetEvent(hObjectToSignal);
|
SetEvent(hObjectToSignal);
|
||||||
return WaitForSingleObjectEx(hObjectToWaitOn, dwMilliseconds, bAlertable);
|
return WaitForSingleObjectEx(hObjectToWaitOn, dwMilliseconds, bAlertable);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex hostApiIndex )
|
PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex hostApiIndex )
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue