]> Repos - portaudio/commitdiff
wasapi:
authordmitrykos <dmitrykos@0f58301d-fd10-0410-b4af-bbb618454e57>
Mon, 8 Mar 2010 10:33:58 +0000 (10:33 +0000)
committerdmitrykos <dmitrykos@0f58301d-fd10-0410-b4af-bbb618454e57>
Mon, 8 Mar 2010 10:33:58 +0000 (10:33 +0000)
- improved debug log output: function name which returned error will be displayed as well
- fixed non-critical compiler warnings

src/hostapi/wasapi/pa_win_wasapi.c

index e55eed166f4f30536e603457c0b4dec87a4f5551..85d093253dd453074545faf88ecd8c56087e90b9 100644 (file)
@@ -531,8 +531,8 @@ static void _OnStreamStop(PaWasapiStream *stream);
 static void _FinishStream(PaWasapiStream *stream);\r
 \r
 // ------------------------------------------------------------------------------------------\r
-#define LogHostError(HRES) __LogHostError(HRES, __FILE__, __LINE__)\r
-static HRESULT __LogHostError(HRESULT res, const char *file, int line)\r
+#define LogHostError(HRES) __LogHostError(HRES, __FUNCTION__, __FILE__, __LINE__)\r
+static HRESULT __LogHostError(HRESULT res, const char *func, const char *file, int line)\r
 {\r
     const char *text = NULL;\r
     switch (res)\r
@@ -574,18 +574,18 @@ static HRESULT __LogHostError(HRESULT res, const char *file, int line)
        default:\r
                text = "UNKNOWN ERROR";\r
     }\r
-       PRINT(("WASAPI ERROR HRESULT: 0x%X : %s\n [FILE: %s {LINE: %d}]\n",res, text, file, line));\r
+       PRINT(("WASAPI ERROR HRESULT: 0x%X : %s\n [FUNCTION: %s FILE: %s {LINE: %d}]\n", res, text, func, file, line));\r
        PA_SKELETON_SET_LAST_HOST_ERROR(res, text);\r
        return res;\r
 }\r
 \r
 // ------------------------------------------------------------------------------------------\r
-#define LogPaError(PAERR) __LogPaError(PAERR, __FILE__, __LINE__)\r
-static PaError __LogPaError(PaError err, const char *file, int line)\r
+#define LogPaError(PAERR) __LogPaError(PAERR, __FUNCTION__, __FILE__, __LINE__)\r
+static PaError __LogPaError(PaError err, const char *func, const char *file, int line)\r
 {\r
        if (err == paNoError)\r
                return err;\r
-       PRINT(("WASAPI ERROR PAERROR: %i : %s\n [FILE: %s {LINE: %d}]\n",err,Pa_GetErrorText(err),file,line));\r
+       PRINT(("WASAPI ERROR PAERROR: %i : %s\n [FUNCTION: %s FILE: %s {LINE: %d}]\n", err, Pa_GetErrorText(err), func, file, line));\r
        return err;\r
 }\r
 \r
@@ -1297,51 +1297,37 @@ static PaSampleFormat waveformatToPaFormat(const WAVEFORMATEXTENSIBLE *in)
 \r
     switch (old->wFormatTag)\r
        {\r
-    case WAVE_FORMAT_EXTENSIBLE:\r
-    {\r
+    case WAVE_FORMAT_EXTENSIBLE: {\r
         if (IsEqualGUID(&in->SubFormat, &pa_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT))\r
                {\r
             if (in->Samples.wValidBitsPerSample == 32)\r
                 return paFloat32;\r
-            else\r
-                return paCustomFormat;\r
         }\r
         else\r
                if (IsEqualGUID(&in->SubFormat, &pa_KSDATAFORMAT_SUBTYPE_PCM))\r
                {\r
-            switch (old->wBitsPerSample){\r
-                case 32: return paInt32; break;\r
-                case 24: return paInt24;break;\r
-                case  8: return paUInt8;break;\r
-                case 16: return paInt16;break;\r
-                default: return paCustomFormat;break;\r
+            switch (old->wBitsPerSample)\r
+                       {\r
+                case 32: return paInt32;\r
+                case 24: return paInt24;\r
+                case  8: return paUInt8;\r
+                case 16: return paInt16;\r
             }\r
         }\r
-        else\r
-            return paCustomFormat;\r
-    }\r
-    break;\r
-\r
-    case WAVE_FORMAT_IEEE_FLOAT:\r
-        return paFloat32;\r
-    break;\r
+               break; }\r
+    \r
+    case WAVE_FORMAT_IEEE_FLOAT: \r
+               return paFloat32;\r
 \r
-    case WAVE_FORMAT_PCM:\r
-    {\r
+    case WAVE_FORMAT_PCM: {\r
         switch (old->wBitsPerSample)\r
                {\r
-            case 32: return paInt32; break;\r
-            case 24: return paInt24;break;\r
-            case  8: return paUInt8;break;\r
-            case 16: return paInt16;break;\r
-            default: return paCustomFormat;break;\r
+            case 32: return paInt32;\r
+            case 24: return paInt24;\r
+            case  8: return paUInt8;\r
+            case 16: return paInt16;\r
         }\r
-    }\r
-    break;\r
-\r
-    default:\r
-        return paCustomFormat;\r
-    break;\r
+               break; }\r
     }\r
 \r
     return paCustomFormat;\r
@@ -1367,7 +1353,7 @@ static PaError MakeWaveFormatFromParams(WAVEFORMATEXTENSIBLE *wavex, const PaStr
     memset(wavex, 0, sizeof(*wavex));\r
 \r
     old                                         = (WAVEFORMATEX *)wavex;\r
-    old->nChannels       = params->channelCount;\r
+    old->nChannels       = (WORD)params->channelCount;\r
     old->nSamplesPerSec  = (DWORD)sampleRate;\r
        if ((old->wBitsPerSample = bitsPerSample) > 16)\r
        {\r
@@ -1424,15 +1410,15 @@ static void wasapiFillWFEXT( WAVEFORMATEXTENSIBLE* pwfext, PaSampleFormat sample
     PA_DEBUG(( "chanelCount = %d\n", channelCount ));\r
 \r
     pwfext->Format.wFormatTag = WAVE_FORMAT_EXTENSIBLE;\r
-    pwfext->Format.nChannels = channelCount;\r
-    pwfext->Format.nSamplesPerSec = (int)sampleRate;\r
+    pwfext->Format.nChannels = (WORD)channelCount;\r
+    pwfext->Format.nSamplesPerSec = (DWORD)sampleRate;\r
     if(channelCount == 1)\r
         pwfext->dwChannelMask = KSAUDIO_SPEAKER_DIRECTOUT;\r
     else\r
         pwfext->dwChannelMask = KSAUDIO_SPEAKER_STEREO;\r
     if(sampleFormat == paFloat32)\r
     {\r
-        pwfext->Format.nBlockAlign = channelCount * 4;\r
+        pwfext->Format.nBlockAlign = (WORD)(channelCount * 4);\r
         pwfext->Format.wBitsPerSample = 32;\r
         pwfext->Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE)-sizeof(WAVEFORMATEX);\r
         pwfext->Samples.wValidBitsPerSample = 32;\r
@@ -1440,7 +1426,7 @@ static void wasapiFillWFEXT( WAVEFORMATEXTENSIBLE* pwfext, PaSampleFormat sample
     }\r
     else if(sampleFormat == paInt32)\r
     {\r
-        pwfext->Format.nBlockAlign = channelCount * 4;\r
+        pwfext->Format.nBlockAlign = (WORD)(channelCount * 4);\r
         pwfext->Format.wBitsPerSample = 32;\r
         pwfext->Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE)-sizeof(WAVEFORMATEX);\r
         pwfext->Samples.wValidBitsPerSample = 32;\r
@@ -1448,7 +1434,7 @@ static void wasapiFillWFEXT( WAVEFORMATEXTENSIBLE* pwfext, PaSampleFormat sample
     }\r
     else if(sampleFormat == paInt24)\r
     {\r
-        pwfext->Format.nBlockAlign = channelCount * 4;\r
+        pwfext->Format.nBlockAlign = (WORD)(channelCount * 4);\r
         pwfext->Format.wBitsPerSample = 32; // 24-bit in 32-bit int container\r
         pwfext->Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE)-sizeof(WAVEFORMATEX);\r
         pwfext->Samples.wValidBitsPerSample = 24;\r
@@ -1456,7 +1442,7 @@ static void wasapiFillWFEXT( WAVEFORMATEXTENSIBLE* pwfext, PaSampleFormat sample
     }\r
     else if(sampleFormat == paInt16)\r
     {\r
-        pwfext->Format.nBlockAlign = channelCount * 2;\r
+        pwfext->Format.nBlockAlign = (WORD)(channelCount * 2);\r
         pwfext->Format.wBitsPerSample = 16;\r
         pwfext->Format.cbSize = sizeof(WAVEFORMATEXTENSIBLE)-sizeof(WAVEFORMATEX);\r
         pwfext->Samples.wValidBitsPerSample = 16;\r
@@ -1862,7 +1848,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
     PaError result = paNoError;\r
        HRESULT hr;\r
     PaWasapiHostApiRepresentation *paWasapi = (PaWasapiHostApiRepresentation*)hostApi;\r
-    PaWasapiStream *stream;\r
+    PaWasapiStream *stream = NULL;\r
     int inputChannelCount, outputChannelCount;\r
     PaSampleFormat inputSampleFormat, outputSampleFormat;\r
     PaSampleFormat hostInputSampleFormat, hostOutputSampleFormat;\r
@@ -2240,7 +2226,7 @@ static PaError OpenStream( struct PaUtilHostApiRepresentation *hostApi,
 \r
 error:\r
 \r
-    if (stream)\r
+    if (stream != NULL)\r
        {\r
                CloseStream(stream);\r
         PaUtil_FreeMemory(stream);\r
@@ -2289,7 +2275,6 @@ static PaError CloseStream( PaStream* s )
 // ------------------------------------------------------------------------------------------\r
 static PaError StartStream( PaStream *s )\r
 {\r
-    PaError result = paNoError;\r
        HRESULT hr;\r
     PaWasapiStream *stream = (PaWasapiStream*)s;\r
 \r
@@ -2558,7 +2543,7 @@ static PaError WriteStream( PaStream* s, const void *_buffer, unsigned long _fra
        UINT32 frames;\r
        const BYTE *buffer = (BYTE *)_buffer;\r
        BYTE *data;\r
-       HRESULT hr;\r
+       HRESULT hr = S_OK;\r
        UINT32 next_rev_sleep, blocks, block_sleep_ms;\r
        UINT32 i;\r
 \r
@@ -2936,8 +2921,7 @@ PaError PaWasapi_ThreadPriorityRevert(void *hTask)
 static HRESULT FillOutputBuffer(PaWasapiStream *stream, PaWasapiHostProcessor *processor, UINT32 frames)\r
 {\r
        HRESULT hr;\r
-       BYTE *data    = NULL;\r
-       DWORD flags   = 0;\r
+       BYTE *data = NULL;\r
 \r
        // Get buffer\r
        if ((hr = IAudioRenderClient_GetBuffer(stream->rclient, frames, &data)) != S_OK)\r
@@ -3045,7 +3029,6 @@ PA_THREAD_FUNC ProcThreadEvent(void *param)
     PaWasapiHostProcessor processor[S_COUNT];\r
        HRESULT hr;\r
        DWORD dwResult;\r
-       BOOL bInitOutput = FALSE;\r
     PaWasapiStream *stream = (PaWasapiStream *)param;\r
        PaWasapiHostProcessor defaultProcessor;\r
 \r
@@ -3168,7 +3151,6 @@ PA_THREAD_FUNC ProcThreadPoll(void *param)
 {\r
     PaWasapiHostProcessor processor[S_COUNT];\r
        HRESULT hr;\r
-       BOOL bInitOutput = FALSE;\r
     PaWasapiStream *stream = (PaWasapiStream *)param;\r
        PaWasapiHostProcessor defaultProcessor;\r
        INT32 i;\r