Strange waveOutGetDevCaps calls in winmm/tests/wave.c

Peter Åstrand astrand at cendio.se
Wed Apr 16 07:04:40 CDT 2008


winmm/tests/wave.c currently contains:

    rc=waveOutGetDevCapsA(device,&capsA,4);
    ok(rc==MMSYSERR_NOERROR,
       "waveOutGetDevCapsA(%s): MMSYSERR_NOERROR expected, got %s\n",
       dev_name(device),wave_out_error(rc));

    rc=waveOutGetDevCapsW(device,&capsW,4);
    ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED,
       "waveOutGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED "
       "expected, got %s\n",dev_name(device),wave_out_error(rc));

This seems wrong to me; the last argument should be the size of the
WAVEOUTCAPS structure, and there are no such structures that have size 4. 

The CapsW test fails with our sound driver (tlsnd) as well as Microsofts 
Terminal Services driver (rdpsnd).

The CapsA test doesn't fail, probably since winmm wraps CapsA calls with 
CapsW calls and then does memcpy. In either case, calling 
waveOutGetDevCaps sith size=4 is not valid, as far as I can tell. 
Theoretically, it might be in the future, though, if some small caps 
structure is invented. I suggest that these tests are removed altogether:

--- wave.c      29 Feb 2008 12:18:36 -0000      1.67
+++ wave.c      16 Apr 2008 12:03:44 -0000
@@ -853,16 +853,6 @@
        "expected, got %s\n",dev_name(device),wave_out_error(rc));
     }

-    rc=waveOutGetDevCapsA(device,&capsA,4);
-    ok(rc==MMSYSERR_NOERROR,
-       "waveOutGetDevCapsA(%s): MMSYSERR_NOERROR expected, got %s\n",
-       dev_name(device),wave_out_error(rc));
-
-    rc=waveOutGetDevCapsW(device,&capsW,4);
-    ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED,
-       "waveOutGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED 
"
-       "expected, got %s\n",dev_name(device),wave_out_error(rc));
-
     nameA=NULL;
     rc=waveOutMessage((HWAVEOUT)device, DRV_QUERYDEVICEINTERFACESIZE,
                       (DWORD_PTR)&size, 0);

Regards, 
---
Peter Åstrand		ThinLinc Chief Developer
Cendio AB		http://www.cendio.se
Wallenbergs gata 4
583 30 Linköping	Phone: +46-13-21 46 00


More information about the wine-devel mailing list