Robert Reif reif@earthlink.net writes:
Add multiple DIRECTSOUND object support (multiple sound cards can play at the same time). Fix CoCreateInstance when no sound card is present. Fix create bug found by Mike Hearn.
This is causing major trouble with make test for me:
../../../tools/runtest -q -P wine -M dsound.dll -T ../../.. -p dsound_test.exe.so ds3d.c && touch ds3d.ok wine: Unhandled exception (thread 003c), starting debugger... WineDbg starting on pid 0x3a Unhandled exception: page fault on read access to 0x88d9a3d0 in 32-bit code (0x779a6b3b). In 32 bit mode. Register dump: CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033 EIP:779a6b3b ESP:7292809c EBP:729280ac EFLAGS:00010a13( - 00 ROIA1C) EAX:11154d54 EBX:779bfc58 ECX:0063006c EDX:3bad4fe3 ESI:779bfb48 EDI:77c453e0 Stack dump: 0x7292809c: 00000020 779bfc58 00000019 77c453e0 0x729280ac: 729280c8 779a7349 77c453e0 ff9cff99 0x729280bc: 77978600 00008000 779a71d4 729280f0 0x729280cc: 7795c80b 00008000 000003bd 77c453e0 0x729280dc: 77c45500 00000000 72ad5e00 000003bd 0x729280ec: 72ad8b40 72928120 72ab84d8 779a71d4 Backtrace: =>1 0x779a6b3b DSOUND_WaveQueue+0x9b(device=0x77c453e0, mixq=0xff9cff99) [/home/julliard/wine/wine/dlls/dsound/mixer.c:931] in dsound (0x729280ac) 2 0x779a7349 DSOUND_callback+0x175(hwo=0x8000, msg=0x3bd, dwUser=0x77c453e0, dw1=0x77c45500, dw2=0x0) [/home/julliard/wine/wine/dlls/dsound/mixer.c:1168] in dsound (0x729280c8) 3 0x7795c80b DriverCallback+0x1a3(dwCallBack=0x779a71d4, uFlags=0x3, hDev=0x8000, wMsg=0x3bd, dwUser=0x77c453e0, dwParam1=0x77c45500, dwParam2=0x0) [/home/julliard/wine/wine/dlls/winmm/driver.c:521] in winmm (0x729280f0) 4 0x72ab84d8 wodNotifyClient(wwo=0x72ad8b40, wMsg=0x3bd, dwParam1=0x77c45500, dwParam2=0x0) [/home/julliard/wine/wine/dlls/winmm/wineoss/audio.c:1330] in wineoss.drv (0x72928120) 5 0x72ab8a16 wodPlayer_NotifyCompletions+0xea(wwo=0x72ad8b40, force=0x1) [/home/julliard/wine/wine/dlls/winmm/wineoss/audio.c:1561] in wineoss.drv (0x72928144) 6 0x72ab8aa2 wodPlayer_Reset(wwo=0x72ad8b40, reset=0x1) [/home/julliard/wine/wine/dlls/winmm/wineoss/audio.c:1610] in wineoss.drv (0x7292817c) 7 0x72ab8d3e wodPlayer_ProcessMessages(wwo=0x72ad8b40) [/home/julliard/wine/wine/dlls/winmm/wineoss/audio.c:1701] in wineoss.drv (0x729281b0) 8 0x72ab8fe5 wodPlayer(pmt=0x0) [/home/julliard/wine/wine/dlls/winmm/wineoss/audio.c:1795] in wineoss.drv (0x729281dc) 9 0x77bd8867 THREAD_Start(ptr=0x77c45500) [/home/julliard/wine/wine/dlls/kernel/thread.c:107] in kernel32 (0x729282a8) 10 0x77ee09aa start_thread+0x142(info=0x77c45520) [/home/julliard/wine/wine/dlls/ntdll/thread.c:204] in ntdll (0x72928ad8) 11 0xb7fb1b63 start_thread+0x93 in libpthread.so.0 (0x72928b4c) 12 0xb7f5018a __clone+0x5a in libc.so.6 (0x00000000) 0x779a6b3b DSOUND_WaveQueue+0x9b [/home/julliard/wine/wine/dlls/dsound/mixer.c:931] in dsound: pushl 0x29c(%eax,%edi,1) 931 waveOutWrite(device->hwo, device->pwave[device->pwwrite], sizeof(WAVEHDR));