wasapi: fixed initialization stage of PaWasapi_Initialize() which was returning error if WASAPI wasn't found (for example under Windows XP), this was causing PA's whole initialization to fail completely

This commit is contained in:
dmitrykos 2010-03-04 11:02:06 +00:00
commit 779ef401ac

View file

@ -834,7 +834,7 @@ static BOOL UseWOW64VistaWorkaround()
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex hostApiIndex ) PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex hostApiIndex )
{ {
PaError result = paUnanticipatedHostError; PaError result = paNoError;
PaWasapiHostApiRepresentation *paWasapi; PaWasapiHostApiRepresentation *paWasapi;
PaDeviceInfo *deviceInfoArray; PaDeviceInfo *deviceInfoArray;
HRESULT hResult = S_OK; HRESULT hResult = S_OK;
@ -843,13 +843,13 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
if (!SetupAVRT()) if (!SetupAVRT())
{ {
PRINT(("Windows WASAPI : No AVRT! (not VISTA?)")); PRINT(("WASAPI: No AVRT! (not VISTA?)"));
return paHostApiNotFound; return paNoError;
} }
CoInitialize(NULL); CoInitialize(NULL);
paWasapi = (PaWasapiHostApiRepresentation*)PaUtil_AllocateMemory( sizeof(PaWasapiHostApiRepresentation) ); paWasapi = (PaWasapiHostApiRepresentation *)PaUtil_AllocateMemory( sizeof(PaWasapiHostApiRepresentation) );
if (paWasapi == NULL) if (paWasapi == NULL)
{ {
result = paInsufficientMemory; result = paInsufficientMemory;
@ -1101,7 +1101,7 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
deviceInfo->defaultLowInputLatency = nano100ToSeconds(paWasapi->devInfo[i].MinimumDevicePeriod); deviceInfo->defaultLowInputLatency = nano100ToSeconds(paWasapi->devInfo[i].MinimumDevicePeriod);
break; break;
default: default:
PRINT(("WASAPI device:%d bad Data FLow! \n",i)); PRINT(("WASAPI: device %d bad Data FLow! \n",i));
goto error; goto error;
break; break;
} }
@ -1134,7 +1134,7 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
SAFE_RELEASE(pEndPoints); SAFE_RELEASE(pEndPoints);
return (result = paNoError); return paNoError;
error: error: