dsound dump caps patch

Robert Reif reif at earthlink.net
Wed Jul 21 18:24:48 CDT 2004


Dumps DirectSound capabilities flag.
-------------- next part --------------
Index: dlls/dsound/dsound.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/dsound.c,v
retrieving revision 1.6
diff -u -r1.6 dsound.c
--- dlls/dsound/dsound.c	19 Jul 2004 20:06:22 -0000	1.6
+++ dlls/dsound/dsound.c	21 Jul 2004 23:21:15 -0000
@@ -76,6 +76,32 @@
     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;i<sizeof(flags)/sizeof(flags[0]);i++)
+        if ((flags[i].mask & xmask) == flags[i].mask)
+            DPRINTF("%s ",flags[i].name);
+}
+
 static void _dump_DSBCAPS(DWORD xmask) {
     struct {
         DWORD   mask;
@@ -401,8 +427,10 @@
         return DSERR_INVALIDPARAM;
     }
 
-    TRACE("(flags=0x%08lx)\n",lpDSCaps->dwFlags);
     lpDSCaps->dwFlags                           = This->drvcaps.dwFlags;
+    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;


More information about the wine-patches mailing list