http://bugs.winehq.org/show_bug.cgi?id=27901
--- Comment #5 from Bryan Kadzban bz-wine@kdzbn.homelinux.net 2011-08-06 22:32:44 CDT --- Synced to git head again (and noticed a couple of winmm changes that looked like they might have helped), but no luck. The test is still silent after the 0.5s sleep (if it's not just hung, though it doesn't look like it is).
I added a few more trace lines to wave.c around the sleep test and to see if the WaitForSingleObject() call was actually working or not. I saw that the Sleep() call does indeed take about half a second, and the waveOutRestart() call doesn't hang either. But the sound does not restart after waveOutRestart(), and WaitForSingleObject times out after ten seconds.
wave.c:729: Playing 1 second 440Hz tone at 8000x 8x1 1 header 0 loops 8000 bytes WAVE_FORMAT_PCM CALLBACK_EVENT wave.c:772: pausing for 0.5 seconds wave.c:774: sleep finished wave.c:776: waveOutRestart finished wave.c:792: Test failed: WaitForSingleObject(hevent) timed out wave.c:797: Test failed: (00) WHDR_DONE WHDR_PREPARED expected, got WHDR_INQUEUE WHDR_PREPARED wave.c:497: Test failed: waveOutGetPosition(0): returned 5298 bytes, should be 8000 wave.c:508: Test failed: waveOutGetPosition(0): returned 5298 samples (5298 bytes), should be 8000 (8000 bytes) wave.c:521: Test failed: waveOutGetPosition(0): returned 662 ms, (5296 bytes), should be 1000 (8000 bytes) wave.c:534: Test failed: waveOutGetPosition(0): SMPTE test failed wave.c:545: Test failed: waveOutGetPosition(0): MIDI test failed wave.c:556: Test failed: waveOutGetPosition(0): TICKS test failed wave.c:808: Test failed: waveOutUnprepareHeader(0): rc=WAVERR_STILLPLAYING(Cannot perform this operation while media data is still playing. Reset the device, or wait until the data is finished playing.)
(The traces at line 774 and 776 are added by me, as is the test at line 792. So the subsequent line numbers are off by 3.)