dsound: GetVolume should check error from driver (resend)
dank at kegel.com
Sun Sep 28 14:57:49 CDT 2008
Sent this back in June, didn't get a reply that I remember...
On a few machines, test_secondary() in dsound/tests/ds3d.c fails
due to garbage on the stack being used in place of volume.
-64-1.0rc4/dsound:ds3d.html ds3d.c:891: Test failed: The primary
volume changed from \
-27 to -792 ds3d.c:896: Test failed: The primary pan changed from -5594 to -5595
ALSA_CheckSetVolume returns right early because hctl is NULL,
but that error is not propagated through dsound properly.
While we should figure out the alsa part, for now, let's at least
propagate the error, and skip tests that can't be done without
If this patch is accepted, I'll send a second one to add a
similar skip() to tests/ds3d8.c.
I've also added a test that checks for this problem a bit
more directly, which might help somebody looking into the alsa problem.
This prevents Valgrind errors like:
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)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 7732 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080928/1b949a33/attachment.patch
More information about the wine-patches