Cleanup: Check return code from waveOutMessage when polling for preferred devices, don't assume that an OUT parameter is unchanged on error. Move #define DRVM_MAPPER_PREFERRED_GET to top of file with other #defines.
This commit is contained in:
parent
46f97c7c20
commit
1a95d6790b
1 changed files with 9 additions and 8 deletions
|
|
@ -123,6 +123,11 @@
|
|||
#endif
|
||||
#endif /* PAWIN_USE_WDMKS_DEVICE_INFO */
|
||||
|
||||
#if !defined(DRVM_MAPPER_PREFERRED_GET)
|
||||
/* DRVM_MAPPER_PREFERRED_GET is defined in mmddk.h but we avoid a dependency on the DDK by defining it here */
|
||||
#define DRVM_MAPPER_PREFERRED_GET (0x2000+21)
|
||||
#endif
|
||||
|
||||
/* use CreateThread for CYGWIN, _beginthreadex for all others */
|
||||
#if !defined(__CYGWIN__) && !defined(_WIN32_WCE)
|
||||
#define CREATE_THREAD (HANDLE)_beginthreadex( 0, 0, ProcessingThreadProc, stream, 0, &stream->processingThreadId )
|
||||
|
|
@ -1013,19 +1018,15 @@ PaError PaWinMme_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
|
|||
winMmeHostApi->inputDeviceCount = 0;
|
||||
winMmeHostApi->outputDeviceCount = 0;
|
||||
|
||||
#if !defined(DRVM_MAPPER_PREFERRED_GET)
|
||||
/* DRVM_MAPPER_PREFERRED_GET is defined in mmddk.h but we avoid a dependency on the DDK by defining it here */
|
||||
#define DRVM_MAPPER_PREFERRED_GET (0x2000+21)
|
||||
#endif
|
||||
|
||||
/* the following calls assume that if wave*Message fails the preferred device parameter won't be modified */
|
||||
preferredDeviceStatusFlags = 0;
|
||||
waveInPreferredDevice = -1;
|
||||
waveInMessage( (HWAVEIN)WAVE_MAPPER, DRVM_MAPPER_PREFERRED_GET, (DWORD_PTR)&waveInPreferredDevice, (DWORD_PTR)&preferredDeviceStatusFlags );
|
||||
if( waveInMessage( (HWAVEIN)WAVE_MAPPER, DRVM_MAPPER_PREFERRED_GET, (DWORD_PTR)&waveInPreferredDevice, (DWORD_PTR)&preferredDeviceStatusFlags ) != MMSYSERR_NOERROR )
|
||||
waveInPreferredDevice = -1;
|
||||
|
||||
preferredDeviceStatusFlags = 0;
|
||||
waveOutPreferredDevice = -1;
|
||||
waveOutMessage( (HWAVEOUT)WAVE_MAPPER, DRVM_MAPPER_PREFERRED_GET, (DWORD_PTR)&waveOutPreferredDevice, (DWORD_PTR)&preferredDeviceStatusFlags );
|
||||
if( waveOutMessage( (HWAVEOUT)WAVE_MAPPER, DRVM_MAPPER_PREFERRED_GET, (DWORD_PTR)&waveOutPreferredDevice, (DWORD_PTR)&preferredDeviceStatusFlags ) != MMSYSERR_NOERROR )
|
||||
waveOutPreferredDevice = -1;
|
||||
|
||||
maximumPossibleDeviceCount = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue