dsound: A version 1 3d secondary buffer allows SetPan().
authorMichael Stefaniuc <mstefani@redhat.de>
Tue, 1 Dec 2015 13:49:04 +0000 (14:49 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 2 Dec 2015 14:45:17 +0000 (23:45 +0900)
For version 8 DSBCAPS_CTRL3D and DSBCAPS_CTRLPAN are mutually exclusive
and a sound buffer cannot be created when both flags are set.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/dsound/buffer.c
dlls/dsound/tests/ds3d.c

index d735dc36059825b7383834a08fe2824389bedcfb..5aa28345b71ca4b21b481b26fb7132d0a82ef773 100644 (file)
@@ -586,9 +586,7 @@ static HRESULT WINAPI IDirectSoundBufferImpl_SetPan(IDirectSoundBuffer8 *iface,
                return DSERR_INVALIDPARAM;
        }
 
-       /* You cannot use both pan and 3D controls */
-       if (!(This->dsbd.dwFlags & DSBCAPS_CTRLPAN) ||
-           (This->dsbd.dwFlags & DSBCAPS_CTRL3D)) {
+       if (!(This->dsbd.dwFlags & DSBCAPS_CTRLPAN)) {
                WARN("control unavailable\n");
                return DSERR_CONTROLUNAVAIL;
        }
index 1a019dd805ff74c4c2f18a707e14d8e1f97dfe04..6c12f715f62e308d112d32c763dcbae63acf317d 100644 (file)
@@ -892,7 +892,6 @@ static HRESULT test_secondary(LPGUID lpGuid, int play,
                 rc=IDirectSoundBuffer_GetPan(secondary,&pan);
                 ok(rc==DS_OK,"IDirectSoundBuffer_GetPan() failed, returned: %08x\n", rc);
                 rc=IDirectSoundBuffer_SetPan(secondary,0);
-                todo_wine
                 ok(rc==DS_OK,"IDirectSoundBuffer_SetPan() failed, returned: %08x\n", rc);
             }