diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index 11c72828b01..c234e085237 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c @@ -76,6 +76,32 @@ static const char * dumpCooperativeLevel(DWORD level) return unknown; } +static void _dump_DSCAPS(DWORD xmask) { + struct { + DWORD mask; + char *name; + } flags[] = { +#define FE(x) { x, #x }, + FE(DSCAPS_PRIMARYMONO) + FE(DSCAPS_PRIMARYSTEREO) + FE(DSCAPS_PRIMARY8BIT) + FE(DSCAPS_PRIMARY16BIT) + FE(DSCAPS_CONTINUOUSRATE) + FE(DSCAPS_EMULDRIVER) + FE(DSCAPS_CERTIFIED) + FE(DSCAPS_SECONDARYMONO) + FE(DSCAPS_SECONDARYSTEREO) + FE(DSCAPS_SECONDARY8BIT) + FE(DSCAPS_SECONDARY16BIT) +#undef FE + }; + int i; + + for (i=0;idwFlags); lpDSCaps->dwFlags = This->drvcaps.dwFlags; + if (TRACE_ON(dsound)) { + TRACE("(flags=0x%08lx:\n",lpDSCaps->dwFlags); + _dump_DSCAPS(lpDSCaps->dwFlags); + DPRINTF(")\n"); + } lpDSCaps->dwMinSecondarySampleRate = This->drvcaps.dwMinSecondarySampleRate; lpDSCaps->dwMaxSecondarySampleRate = This->drvcaps.dwMaxSecondarySampleRate; lpDSCaps->dwPrimaryBuffers = This->drvcaps.dwPrimaryBuffers;