On Jul 23, 2004, Francois Gouget wrote:
> The patch removes the primary buffer's 'volpan' variable and instead
> uses waveOutGetVolume() on dsound->hwo to get the current volume.

This seems to be failing for me here on three different machines
during the primary part of test_secondary() in dsound/tests/ds3d.c.

You can see evidence of this in valgrind logs, e.g.
http://kegel.com/wine/valgrind/logs-2007-12-06/vg-dsound_ds3d.txt
or
http://kegel.com/wine/valgrind/logs-2008-06-16/vg-dsound_ds3d.txt
you can see valgrind getting annoyed that waveOutGetVolume
didn't actually retrieve anything:
 Conditional jump or move depends on uninitialised value(s)
    at  DSOUND_AmpFactorToVolPan (mixer.c:66)
    by  PrimaryBufferImpl_GetVolume (primary.c:646)
    by  test_secondary (ds3d.c:864)
    by  dsenum_callback (ds3d.c:1303)
    by  DirectSoundEnumerateA (dsound_main.c:315)
    by  ds3d_tests (ds3d.c:1324)
    by  func_ds3d (ds3d.c:1344)
    by  run_test (test.h:449)
    by  main (test.h:498)
  Uninitialised value was created by a stack allocation
    at  PrimaryBufferImpl_GetVolume (primary.c:627)

The test nevertheless happens to succeed on some machines,
but not others.  One machine it fails on (even without valgrind) says
ds3d.c:896: Test failed: The primary pan changed from 673 to 656
because, I think, it's calculating the pan based on random
values on the stack.

A +dsound,+alsa,+wave log (and a few extra trace statements) shows

trace:dsound:PrimaryBufferImpl_GetPan (0x132258,0x32fa48)
trace:wave:ALSA_wodMessage (0, WODM_GETVOLUME, 00000000, 0032F8E4, 00000000);
trace:wave:wodGetVolume (0, 0x32f8e4);
trace:wave:wodGetVolume wDevId 0, hctl (nil)
trace:alsa:ALSA_CheckSetVolume line 470; hctl (nil)
trace:wave:wodGetVolume CheckSetVolume failed; rc 8
trace:dsound:DSOUND_AmpFactorToVolPan (0x32f8c8)
trace:dsound:DSOUND_AmpFactorToVolPan left=3b34, right=7e59
trace:dsound:DSOUND_AmpFactorToVolPan Vol=-611 Pan=656
ds3d.c:896: Test failed: The primary pan changed from 673 to 656

ALSA_CheckSetVolume returns right early because hctl is NULL.

I threw together a small test illustrating the problem;
see the attached patch and log from problem machine.
(Note that sound works on this machine, and running the main
ds3d tests with WINETEST_INTERACTIVE=1 yields many tones
in the headphones.)
Could somebody who knows this code have a look?  Thanks!
- Dan
diff --git a/dlls/dsound/primary.c b/dlls/dsound/primary.c
index 112bb39..10ea7be 100644
--- a/dlls/dsound/primary.c
+++ b/dlls/dsound/primary.c
@@ -628,6 +628,7 @@ static HRESULT WINAPI PrimaryBufferImpl_
 	DirectSoundDevice *device = ((PrimaryBufferImpl *)iface)->device;
 	DWORD ampfactors;
 	DSVOLUMEPAN volpan;
+        MMRESULT mmres;
 	TRACE("(%p,%p)\n", iface, vol);
 
 	if (!(device->dsbd.dwFlags & DSBCAPS_CTRLVOLUME)) {
@@ -640,7 +641,12 @@ static HRESULT WINAPI PrimaryBufferImpl_
 		return DSERR_INVALIDPARAM;
 	}
 
-	waveOutGetVolume(device->hwo, &ampfactors);
+	mmres = waveOutGetVolume(device->hwo, &ampfactors);
+        if (mmres != MMSYSERR_NOERROR) {
+                WARN("can't get volume\n");
+                return DSERR_GENERIC;
+        }
+
 	volpan.dwTotalLeftAmpFactor=ampfactors & 0xffff;
 	volpan.dwTotalRightAmpFactor=ampfactors >> 16;
 	DSOUND_AmpFactorToVolPan(&volpan);
diff --git a/dlls/dsound/tests/ds3d.c b/dlls/dsound/tests/ds3d.c
index e20dc21..084dfb4 100644
--- a/dlls/dsound/tests/ds3d.c
+++ b/dlls/dsound/tests/ds3d.c
@@ -1318,6 +1318,92 @@ static BOOL WINAPI dsenum_callback(LPGUI
     return 1;
 }
 
+static HRESULT test_volume(LPGUID lpGuid)
+{
+    HRESULT rc;
+    LPDIRECTSOUND dso=NULL;
+    LPDIRECTSOUNDBUFFER primary=NULL;
+    DSBUFFERDESC bufdesc;
+    int ref;
+
+    /* Create the DirectSound object */
+    rc=pDirectSoundCreate(lpGuid,&dso,NULL);
+    ok(rc==DS_OK||rc==DSERR_NODRIVER,"DirectSoundCreate() failed: %s\n",
+       DXGetErrorString8(rc));
+    if (rc!=DS_OK)
+        return rc;
+
+    /* We must call SetCooperativeLevel before creating primary buffer */
+    /* DSOUND: Setting DirectSound cooperative level to DSSCL_PRIORITY */
+    rc=IDirectSound_SetCooperativeLevel(dso,get_hwnd(),DSSCL_PRIORITY);
+    ok(rc==DS_OK,"IDirectSound_SetCooperativeLevel(DSSCL_PRIORITY) failed: "
+       "%s\n",DXGetErrorString8(rc));
+    if (rc!=DS_OK)
+        goto EXIT;
+
+    ZeroMemory(&bufdesc, sizeof(bufdesc));
+    bufdesc.dwSize=sizeof(bufdesc);
+    bufdesc.dwFlags=DSBCAPS_PRIMARYBUFFER;
+    bufdesc.dwFlags|=(DSBCAPS_CTRLVOLUME|DSBCAPS_CTRLPAN);
+    rc=IDirectSound_CreateSoundBuffer(dso,&bufdesc,&primary,NULL);
+    ok((rc==DS_OK && primary!=NULL) || (rc==DSERR_CONTROLUNAVAIL),
+       "IDirectSound_CreateSoundBuffer() failed to create a primary buffer: "
+       "%s\n", DXGetErrorString8(rc));
+    if (rc==DSERR_CONTROLUNAVAIL)
+        trace("  No Primary\n");
+    else if (rc==DS_OK && primary!=NULL) {
+        LONG tvol;
+        rc=IDirectSoundBuffer_GetVolume(primary,&tvol);
+        ok(rc == 0, "Hey!  Couldn't get volume!\n");
+    } else {
+        ok(primary==NULL,"IDirectSound_CreateSoundBuffer(primary) failed "
+           "but primary created anyway\n");
+        ok(rc!=DS_OK,"IDirectSound_CreateSoundBuffer(primary) succeeded "
+           "but primary not created\n");
+        if (primary) {
+            ref=IDirectSoundBuffer_Release(primary);
+            ok(ref==0,"IDirectSoundBuffer_Release() primary has %d references, "
+               "should have 0\n",ref);
+        }
+    }
+    /* Set the CooperativeLevel back to normal */
+    /* DSOUND: Setting DirectSound cooperative level to DSSCL_NORMAL */
+    rc=IDirectSound_SetCooperativeLevel(dso,get_hwnd(),DSSCL_NORMAL);
+    ok(rc==DS_OK,"IDirectSound_SetCooperativeLevel(DSSCL_NORMAL) failed: %s\n",
+       DXGetErrorString8(rc));
+
+EXIT:
+    ref=IDirectSound_Release(dso);
+    ok(ref==0,"IDirectSound_Release() has %d references, should have 0\n",ref);
+    if (ref!=0)
+        return DSERR_GENERIC;
+
+    return rc;
+}
+
+static BOOL WINAPI dsenum_volume_callback(LPGUID lpGuid, LPCSTR lpcstrDescription,
+                                   LPCSTR lpcstrModule, LPVOID lpContext)
+{
+    HRESULT rc;
+    trace("*** Testing %s - %s ***\n",lpcstrDescription,lpcstrModule);
+
+    rc = test_for_driver(lpGuid);
+    if (rc == DSERR_NODRIVER) {
+        trace("  No Driver\n");
+        return 1;
+    } else if (rc == DSERR_ALLOCATED) {
+        trace("  Already In Use\n");
+        return 1;
+    } else if (rc == E_FAIL) {
+        trace("  No Device\n");
+        return 1;
+    }
+
+    test_volume(lpGuid);
+
+    return 1;
+}
+
 static void ds3d_tests(void)
 {
     HRESULT rc;
@@ -1325,6 +1411,13 @@ static void ds3d_tests(void)
     ok(rc==DS_OK,"DirectSoundEnumerateA() failed: %s\n",DXGetErrorString8(rc));
 }
 
+static void volume_test(void)
+{
+    HRESULT rc;
+    rc=pDirectSoundEnumerateA(&dsenum_volume_callback,NULL);
+    ok(rc==DS_OK,"DirectSoundEnumerateA() failed: %s\n",DXGetErrorString8(rc));
+}
+
 START_TEST(ds3d)
 {
     HMODULE hDsound;
@@ -1341,7 +1434,9 @@ START_TEST(ds3d)
         pDirectSoundCreate = (void*)GetProcAddress(hDsound,
             "DirectSoundCreate");
 
-        ds3d_tests();
+        volume_test();
+
+        //ds3d_tests();
 
         FreeLibrary(hDsound);
     }
trace:alsa:ALSA_CheckSetVolume line 470; hctl 0x7c0a8830
trace:wave:ALSA_AddPlaybackDevice Added playback device default, number 0
trace:alsa:ALSA_CheckSetVolume line 470; hctl 0x7c0a88a0
ALSA lib seq_hw.c:456:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
trace:wave:ALSA_widMessage (0, DRVM_INIT, 00000000, 00000000, 00000000);
trace:wave:ALSA_widMessage (0, WIDM_GETNUMDEVS, 00000000, 00000000, 00000000);
trace:wave:ALSA_wodMessage (0, DRVM_INIT, 00000000, 00000000, 00000000);
trace:wave:ALSA_wodMessage (0, WODM_GETNUMDEVS, 00000000, 00000000, 00000000);
trace:dsound:DllMain (0x7de70000 1 (nil))
trace:dsound:DllMain DLL_PROCESS_ATTACH
ds3d.c:1430: DLL Version: 5.3.1.904
trace:dsound:DirectSoundEnumerateA lpDSEnumCallback = 0x7e57d576, lpContext = (nil)
trace:dsound:GetDeviceID (DSDEVID_DefaultPlayback,0x32fb54)
trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000}
trace:wave:ALSA_wodMessage (0, DRV_QUERYDSOUNDDESC, 00000000, 0032FB64, 00000000);
trace:dsound:DirectSoundEnumerateA calling lpDSEnumCallback(NULL,"Primary Sound Driver","",(nil))
ds3d.c:1388: *** Testing Primary Sound Driver -  ***
trace:dsound:DirectSoundCreate ((null),0x32fac8,(nil))
trace:dsound:DSOUND_Create ({279afa83-4981-11ce-a521-0020af0be560}, 0x32fa74)
trace:dsound:setup_dsound_options ds_emuldriver = 0
trace:dsound:setup_dsound_options ds_hel_buflen = 32768
trace:dsound:setup_dsound_options ds_snd_queue_max = 10
trace:dsound:setup_dsound_options ds_snd_queue_min = 6
trace:dsound:setup_dsound_options ds_hw_accel = Full
trace:dsound:setup_dsound_options ds_default_playback = 0
trace:dsound:setup_dsound_options ds_default_capture = 0
trace:dsound:setup_dsound_options ds_default_sample_rate = 44100
trace:dsound:setup_dsound_options ds_default_bits_per_sample = 16
trace:dsound:setup_dsound_options ds_snd_shadow_maxsize = 2
trace:dsound:IDirectSoundImpl_Create (0x32fa1c)
trace:dsound:IDirectSound_IDirectSound_Create (0x12a450,0x32fa74)
trace:dsound:IDirectSoundImpl_AddRef (0x12a450) ref was 0
trace:dsound:IDirectSound_IDirectSound_AddRef (0x12a470) ref was 0
trace:dsound:IDirectSound_IDirectSound_Initialize (0x12a470, (null))
trace:dsound:DirectSoundDevice_Initialize (0x12a454,(null))
trace:dsound:GetDeviceID (DSDEVID_DefaultPlayback,0x32f958)
trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000}
trace:dsound:DirectSoundDevice_Create (0x32f954)
trace:dsound:DSOUND_ReopenDevice (0x132088, 0)
trace:wave:ALSA_wodMessage (0, DRV_QUERYDSOUNDIFACE, 00000000, 0013209C, 00000000);
trace:dsound:DSOUND_PrimaryCreate (0x132088)
trace:dsound:DSOUND_PrimaryOpen (0x132088)
trace:dsound:DSOUND_RecalcPrimary (0x132088)
trace:dsound:DSOUND_RecalcPrimary fraglen=2048 helfrags=32
trace:dsound:DirectSoundDevice_Initialize Minimum timer resolution: 1, max timer: 65535
trace:dsound:IDirectSound_IDirectSound_Release (0x12a470) ref was 1
trace:dsound:IDirectSoundImpl_Release (0x12a450) ref was 1
trace:dsound:DirectSoundDevice_Release (0x132088) ref was 1
trace:dsound:DSOUND_PrimaryDestroy (0x132088)
trace:dsound:DSOUND_PrimaryClose (0x132088)
trace:dsound:DirectSoundDevice_Release (0x132088) released
trace:dsound:IDirectSoundImpl_Release (0x12a450) released
trace:dsound:IDirectSound_IDirectSound_Release (0x12a470) released
trace:dsound:DirectSoundCreate ((null),0x32fac4,(nil))
trace:dsound:DSOUND_Create ({279afa83-4981-11ce-a521-0020af0be560}, 0x32fa34)
trace:dsound:setup_dsound_options ds_emuldriver = 0
trace:dsound:setup_dsound_options ds_hel_buflen = 32768
trace:dsound:setup_dsound_options ds_snd_queue_max = 10
trace:dsound:setup_dsound_options ds_snd_queue_min = 6
trace:dsound:setup_dsound_options ds_hw_accel = Full
trace:dsound:setup_dsound_options ds_default_playback = 0
trace:dsound:setup_dsound_options ds_default_capture = 0
trace:dsound:setup_dsound_options ds_default_sample_rate = 44100
trace:dsound:setup_dsound_options ds_default_bits_per_sample = 16
trace:dsound:setup_dsound_options ds_snd_shadow_maxsize = 2
trace:dsound:IDirectSoundImpl_Create (0x32f9dc)
trace:dsound:IDirectSound_IDirectSound_Create (0x132088,0x32fa34)
trace:dsound:IDirectSoundImpl_AddRef (0x132088) ref was 0
trace:dsound:IDirectSound_IDirectSound_AddRef (0x1320a8) ref was 0
trace:dsound:IDirectSound_IDirectSound_Initialize (0x1320a8, (null))
trace:dsound:DirectSoundDevice_Initialize (0x13208c,(null))
trace:dsound:GetDeviceID (DSDEVID_DefaultPlayback,0x32f918)
trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000}
trace:dsound:DirectSoundDevice_Create (0x32f914)
trace:dsound:DSOUND_ReopenDevice (0x132a18, 0)
trace:wave:ALSA_wodMessage (0, DRV_QUERYDSOUNDIFACE, 00000000, 00132A2C, 00000000);
trace:dsound:DSOUND_PrimaryCreate (0x132a18)
trace:dsound:DSOUND_PrimaryOpen (0x132a18)
trace:dsound:DSOUND_RecalcPrimary (0x132a18)
trace:dsound:DSOUND_RecalcPrimary fraglen=2048 helfrags=32
trace:dsound:DirectSoundDevice_Initialize Minimum timer resolution: 1, max timer: 65535
trace:dsound:IDirectSound_IDirectSound_SetCooperativeLevel (0x1320a8,0x20020,DSSCL_PRIORITY)
trace:dsound:DirectSoundDevice_SetCooperativeLevel (0x132a18,0x20020,DSSCL_PRIORITY)
warn:dsound:DirectSoundDevice_SetCooperativeLevel level=DSSCL_PRIORITY not fully supported
trace:dsound:IDirectSound_IDirectSound_CreateSoundBuffer (0x1320a8,0x32fa9c,0x32fac0,(nil))
trace:dsound:DirectSoundDevice_CreateSoundBuffer (0x132a18,0x32fa9c,0x32fac0,(nil))
trace:dsound:DirectSoundDevice_CreateSoundBuffer (structsize=36)
trace:dsound:DirectSoundDevice_CreateSoundBuffer (flags=0x000000c1:
trace:dsound:_dump_DSBCAPS DSBCAPS_PRIMARYBUFFER DSBCAPS_CTRLPAN DSBCAPS_CTRLVOLUME )
trace:dsound:DirectSoundDevice_CreateSoundBuffer (bufferbytes=0)
trace:dsound:DirectSoundDevice_CreateSoundBuffer (lpwfxFormat=(nil))
trace:dsound:PrimaryBufferImpl_Create 0x132a18,0x132d44,0x132d48)
trace:dsound:PrimaryBufferImpl_Create Created primary buffer at 0x132258
trace:dsound:PrimaryBufferImpl_Create (formattag=0x0001,chans=2,samplerate=48000,bytespersec=192000,blockalign=4,bitspersamp=16,cbSize=0)
trace:dsound:PrimaryBufferImpl_AddRef (0x132258) ref was 0
trace:dsound:PrimaryBufferImpl_GetVolume (0x132258,0x32fa98)
trace:wave:ALSA_wodMessage (0, WODM_GETVOLUME, 00000000, 0032FA28, 00000000);
trace:wave:wodGetVolume (0, 0x32fa28);
trace:wave:wodGetVolume wDevId 0, hctl (nil)
trace:alsa:ALSA_CheckSetVolume line 470; hctl (nil)
trace:wave:wodGetVolume CheckSetVolume failed; rc 8
warn:dsound:PrimaryBufferImpl_GetVolume can't get volume
ds3d.c:1357: Test failed: Hey!  Couldn't get volume!
trace:dsound:IDirectSound_IDirectSound_SetCooperativeLevel (0x1320a8,0x20020,DSSCL_NORMAL)
trace:dsound:DirectSoundDevice_SetCooperativeLevel (0x132a18,0x20020,DSSCL_NORMAL)
trace:dsound:IDirectSound_IDirectSound_Release (0x1320a8) ref was 1
trace:dsound:IDirectSoundImpl_Release (0x132088) ref was 1
trace:dsound:DirectSoundDevice_Release (0x132a18) ref was 1
warn:dsound:DirectSoundDevice_Release primary buffer not released
trace:dsound:PrimaryBufferImpl_Release (0x132258) ref was 1
trace:dsound:PrimaryBufferImpl_Release (0x132258) released
trace:dsound:DSOUND_PrimaryDestroy (0x132a18)
trace:dsound:DSOUND_PrimaryClose (0x132a18)
trace:dsound:DirectSoundDevice_Release (0x132a18) released
trace:dsound:IDirectSoundImpl_Release (0x132088) released
trace:dsound:IDirectSound_IDirectSound_Release (0x1320a8) released
trace:wave:ALSA_wodMessage (0, DRV_QUERYDSOUNDDESC, 00000000, 0032FB64, 00000000);
trace:dsound:DirectSoundEnumerateA calling lpDSEnumCallback({bd6dd71a-3deb-11d1-b171-00c04fc20000},"dmix:0","winealsa.drv",(nil))
ds3d.c:1388: *** Testing dmix:0 - winealsa.drv ***
trace:dsound:DirectSoundCreate ({bd6dd71a-3deb-11d1-b171-00c04fc20000},0x32fac8,(nil))
trace:dsound:DSOUND_Create ({279afa83-4981-11ce-a521-0020af0be560}, 0x32fa74)
trace:dsound:setup_dsound_options ds_emuldriver = 0
trace:dsound:setup_dsound_options ds_hel_buflen = 32768
trace:dsound:setup_dsound_options ds_snd_queue_max = 10
trace:dsound:setup_dsound_options ds_snd_queue_min = 6
trace:dsound:setup_dsound_options ds_hw_accel = Full
trace:dsound:setup_dsound_options ds_default_playback = 0
trace:dsound:setup_dsound_options ds_default_capture = 0
trace:dsound:setup_dsound_options ds_default_sample_rate = 44100
trace:dsound:setup_dsound_options ds_default_bits_per_sample = 16
trace:dsound:setup_dsound_options ds_snd_shadow_maxsize = 2
trace:dsound:IDirectSoundImpl_Create (0x32fa1c)
trace:dsound:IDirectSound_IDirectSound_Create (0x132088,0x32fa74)
trace:dsound:IDirectSoundImpl_AddRef (0x132088) ref was 0
trace:dsound:IDirectSound_IDirectSound_AddRef (0x1320a8) ref was 0
trace:dsound:IDirectSound_IDirectSound_Initialize (0x1320a8, {bd6dd71a-3deb-11d1-b171-00c04fc20000})
trace:dsound:DirectSoundDevice_Initialize (0x13208c,{bd6dd71a-3deb-11d1-b171-00c04fc20000})
trace:dsound:GetDeviceID ({bd6dd71a-3deb-11d1-b171-00c04fc20000},0x32f958)
trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000}
trace:dsound:DirectSoundDevice_Create (0x32f954)
trace:dsound:DSOUND_ReopenDevice (0x132a18, 0)
trace:wave:ALSA_wodMessage (0, DRV_QUERYDSOUNDIFACE, 00000000, 00132A2C, 00000000);
trace:dsound:DSOUND_PrimaryCreate (0x132a18)
trace:dsound:DSOUND_PrimaryOpen (0x132a18)
trace:dsound:DSOUND_RecalcPrimary (0x132a18)
trace:dsound:DSOUND_RecalcPrimary fraglen=2048 helfrags=32
trace:dsound:DirectSoundDevice_Initialize Minimum timer resolution: 1, max timer: 65535
trace:dsound:IDirectSound_IDirectSound_Release (0x1320a8) ref was 1
trace:dsound:IDirectSoundImpl_Release (0x132088) ref was 1
trace:dsound:DirectSoundDevice_Release (0x132a18) ref was 1
trace:dsound:DSOUND_PrimaryDestroy (0x132a18)
trace:dsound:DSOUND_PrimaryClose (0x132a18)
trace:dsound:DirectSoundDevice_Release (0x132a18) released
trace:dsound:IDirectSoundImpl_Release (0x132088) released
trace:dsound:IDirectSound_IDirectSound_Release (0x1320a8) released
trace:dsound:DirectSoundCreate ({bd6dd71a-3deb-11d1-b171-00c04fc20000},0x32fac4,(nil))
trace:dsound:DSOUND_Create ({279afa83-4981-11ce-a521-0020af0be560}, 0x32fa34)
trace:dsound:setup_dsound_options ds_emuldriver = 0
trace:dsound:setup_dsound_options ds_hel_buflen = 32768
trace:dsound:setup_dsound_options ds_snd_queue_max = 10
trace:dsound:setup_dsound_options ds_snd_queue_min = 6
trace:dsound:setup_dsound_options ds_hw_accel = Full
trace:dsound:setup_dsound_options ds_default_playback = 0
trace:dsound:setup_dsound_options ds_default_capture = 0
trace:dsound:setup_dsound_options ds_default_sample_rate = 44100
trace:dsound:setup_dsound_options ds_default_bits_per_sample = 16
trace:dsound:setup_dsound_options ds_snd_shadow_maxsize = 2
trace:dsound:IDirectSoundImpl_Create (0x32f9dc)
trace:dsound:IDirectSound_IDirectSound_Create (0x132088,0x32fa34)
trace:dsound:IDirectSoundImpl_AddRef (0x132088) ref was 0
trace:dsound:IDirectSound_IDirectSound_AddRef (0x1320a8) ref was 0
trace:dsound:IDirectSound_IDirectSound_Initialize (0x1320a8, {bd6dd71a-3deb-11d1-b171-00c04fc20000})
trace:dsound:DirectSoundDevice_Initialize (0x13208c,{bd6dd71a-3deb-11d1-b171-00c04fc20000})
trace:dsound:GetDeviceID ({bd6dd71a-3deb-11d1-b171-00c04fc20000},0x32f918)
trace:dsound:GetDeviceID returns {bd6dd71a-3deb-11d1-b171-00c04fc20000}
trace:dsound:DirectSoundDevice_Create (0x32f914)
trace:dsound:DSOUND_ReopenDevice (0x132a18, 0)
trace:wave:ALSA_wodMessage (0, DRV_QUERYDSOUNDIFACE, 00000000, 00132A2C, 00000000);
trace:dsound:DSOUND_PrimaryCreate (0x132a18)
trace:dsound:DSOUND_PrimaryOpen (0x132a18)
trace:dsound:DSOUND_RecalcPrimary (0x132a18)
trace:dsound:DSOUND_RecalcPrimary fraglen=2048 helfrags=32
trace:dsound:DirectSoundDevice_Initialize Minimum timer resolution: 1, max timer: 65535
trace:dsound:IDirectSound_IDirectSound_SetCooperativeLevel (0x1320a8,0x20020,DSSCL_PRIORITY)
trace:dsound:DirectSoundDevice_SetCooperativeLevel (0x132a18,0x20020,DSSCL_PRIORITY)
warn:dsound:DirectSoundDevice_SetCooperativeLevel level=DSSCL_PRIORITY not fully supported
trace:dsound:IDirectSound_IDirectSound_CreateSoundBuffer (0x1320a8,0x32fa9c,0x32fac0,(nil))
trace:dsound:DirectSoundDevice_CreateSoundBuffer (0x132a18,0x32fa9c,0x32fac0,(nil))
trace:dsound:DirectSoundDevice_CreateSoundBuffer (structsize=36)
trace:dsound:DirectSoundDevice_CreateSoundBuffer (flags=0x000000c1:
trace:dsound:_dump_DSBCAPS DSBCAPS_PRIMARYBUFFER DSBCAPS_CTRLPAN DSBCAPS_CTRLVOLUME )
trace:dsound:DirectSoundDevice_CreateSoundBuffer (bufferbytes=0)
trace:dsound:DirectSoundDevice_CreateSoundBuffer (lpwfxFormat=(nil))
trace:dsound:PrimaryBufferImpl_Create 0x132a18,0x132d44,0x132d48)
trace:dsound:PrimaryBufferImpl_Create Created primary buffer at 0x132258
trace:dsound:PrimaryBufferImpl_Create (formattag=0x0001,chans=2,samplerate=48000,bytespersec=192000,blockalign=4,bitspersamp=16,cbSize=0)
trace:dsound:PrimaryBufferImpl_AddRef (0x132258) ref was 0
trace:dsound:PrimaryBufferImpl_GetVolume (0x132258,0x32fa98)
trace:wave:ALSA_wodMessage (0, WODM_GETVOLUME, 00000000, 0032FA28, 00000000);
trace:wave:wodGetVolume (0, 0x32fa28);
trace:wave:wodGetVolume wDevId 0, hctl (nil)
trace:alsa:ALSA_CheckSetVolume line 470; hctl (nil)
trace:wave:wodGetVolume CheckSetVolume failed; rc 8
warn:dsound:PrimaryBufferImpl_GetVolume can't get volume
ds3d.c:1357: Test failed: Hey!  Couldn't get volume!
trace:dsound:IDirectSound_IDirectSound_SetCooperativeLevel (0x1320a8,0x20020,DSSCL_NORMAL)
trace:dsound:DirectSoundDevice_SetCooperativeLevel (0x132a18,0x20020,DSSCL_NORMAL)
trace:dsound:IDirectSound_IDirectSound_Release (0x1320a8) ref was 1
trace:dsound:IDirectSoundImpl_Release (0x132088) ref was 1
trace:dsound:DirectSoundDevice_Release (0x132a18) ref was 1
warn:dsound:DirectSoundDevice_Release primary buffer not released
trace:dsound:PrimaryBufferImpl_Release (0x132258) ref was 1
trace:dsound:PrimaryBufferImpl_Release (0x132258) released
trace:dsound:DSOUND_PrimaryDestroy (0x132a18)
trace:dsound:DSOUND_PrimaryClose (0x132a18)
trace:dsound:DirectSoundDevice_Release (0x132a18) released
trace:dsound:IDirectSoundImpl_Release (0x132088) released
trace:dsound:IDirectSound_IDirectSound_Release (0x1320a8) released
ds3d: 17 tests executed (0 marked as todo, 2 failures), 0 skipped.
trace:dsound:DllMain (0x7de70000 0 0x1)
trace:dsound:DllMain DLL_PROCESS_DETACH
trace:wave:ALSA_widMessage (0, DRVM_EXIT, 00000000, 00000000, 00000000);
trace:wave:ALSA_wodMessage (0, DRVM_EXIT, 00000000, 00000000, 00000000);


Reply via email to