]> Repos - portaudio/commitdiff
+++ wasapi: corrected PaWasapi_Initialize() behavior in case of OS back-end failure...
authordmitrykos <dmitrykos@0f58301d-fd10-0410-b4af-bbb618454e57>
Tue, 2 Mar 2010 19:08:13 +0000 (19:08 +0000)
committerdmitrykos <dmitrykos@0f58301d-fd10-0410-b4af-bbb618454e57>
Tue, 2 Mar 2010 19:08:13 +0000 (19:08 +0000)
src/hostapi/wasapi/pa_win_wasapi.cpp

index 9c243e2aebb51f59702e77423218c759ed90f712..a160e5027005f740e6d8ca2b7bc4e15f52a33879 100644 (file)
@@ -647,7 +647,7 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
 \r
     CoInitialize(NULL);\r
 \r
-    PaError result = paUnanticipatedHostError;\r
+    PaError result = paNoError;\r
     PaWasapiHostApiRepresentation *paWasapi;\r
     PaDeviceInfo *deviceInfoArray;\r
 \r
@@ -674,9 +674,9 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
     (*hostApi)->info.defaultOutputDevice = paNoDevice;\r
 \r
     HRESULT hResult = S_OK;\r
-    IMMDeviceCollection* pEndPoints=0;\r
-    paWasapi->enumerator = 0;\r
-\r
+    IMMDeviceCollection *pEndPoints = NULL;\r
+    \r
+       paWasapi->enumerator = NULL;\r
     hResult = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL,CLSCTX_INPROC_SERVER,\r
              __uuidof(IMMDeviceEnumerator),\r
              (void**)&paWasapi->enumerator);\r
@@ -685,7 +685,7 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
     // getting default device ids in the eMultimedia "role"\r
     {\r
         {\r
-            IMMDevice* defaultRenderer=0;\r
+            IMMDevice *defaultRenderer = NULL;\r
             hResult = paWasapi->enumerator->GetDefaultAudioEndpoint(eRender, eMultimedia, &defaultRenderer);\r
             if (hResult != S_OK)\r
                        {\r
@@ -694,7 +694,7 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
                        }\r
                        else\r
                        {\r
-                               WCHARpszDeviceId = NULL;\r
+                               WCHAR *pszDeviceId = NULL;\r
                                hResult = defaultRenderer->GetId(&pszDeviceId);\r
                                IF_FAILED_JUMP(hResult, error);\r
                                wcscpy_s(paWasapi->defaultRenderer, MAX_STR_LEN-1, pszDeviceId);\r
@@ -945,6 +945,7 @@ error:
     SAFE_RELEASE(pEndPoints);\r
        \r
        Terminate((PaUtilHostApiRepresentation *)paWasapi);\r
+       (*hostApi) = NULL;\r
        \r
     return result;\r
 }\r