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
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
\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
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
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
}\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
}\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
}\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
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
\r
error:\r
\r
- if (stream)\r
+ if (stream != NULL)\r
{\r
CloseStream(stream);\r
PaUtil_FreeMemory(stream);\r
// ------------------------------------------------------------------------------------------\r
static PaError StartStream( PaStream *s )\r
{\r
- PaError result = paNoError;\r
HRESULT hr;\r
PaWasapiStream *stream = (PaWasapiStream*)s;\r
\r
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
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
PaWasapiHostProcessor processor[S_COUNT];\r
HRESULT hr;\r
DWORD dwResult;\r
- BOOL bInitOutput = FALSE;\r
PaWasapiStream *stream = (PaWasapiStream *)param;\r
PaWasapiHostProcessor defaultProcessor;\r
\r
{\r
PaWasapiHostProcessor processor[S_COUNT];\r
HRESULT hr;\r
- BOOL bInitOutput = FALSE;\r
PaWasapiStream *stream = (PaWasapiStream *)param;\r
PaWasapiHostProcessor defaultProcessor;\r
INT32 i;\r