http://bugs.winehq.org/show_bug.cgi?id=2237
Summary: winealsa + dsound broken since CVS 20040426 Product: Wine Version: CVS Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-multimedia AssignedTo: wine-bugs@winehq.org ReportedBy: sam@malfunction.screaming.net
Many - or all; I haven't found any exceptions to this yet - applications cease playing audio via DirectSound after a small fraction of a second, due to this change in dlls/winmm/winealsa/audio.c:
if ( dwFlags & WAVE_DIRECTSOUND ) flags |= SND_PCM_ASYNC;
- if ( (err = snd_pcm_open(&pcm, wwo->device, SND_PCM_STREAM_PLAYBACK, dwFlags)) < 0) + if ( (err = snd_pcm_open(&pcm, wwo->device, SND_PCM_STREAM_PLAYBACK, flags)) < 0)
Removing the SND_PCM_ASYNC flag restores correct behaviour and... hopefully isn't harmful; a proper understanding of the issue may yield a better fix.
Presumably few people are experiencing this, or most ALSA users use wineoss, as there seems to be little hint of the problem anywhere I have checked. Nonetheless, it happens here with the snd-emu10k1 driver under both ALSA 0.9.8 and 1.0.4, which would seem to render it unlikely to be an ALSA bug.
Running the dsound interactive tests demonstrates the problem (unless the tone duration is increased somewhat, in which case they function are expected), as does Winamp's DirectSound output plugin, at least in version 2.91.