SoC idea: improve dsound/winmm

Eric Pouech eric.pouech at
Sat Apr 22 03:26:28 CDT 2006

James Hawkins wrote:
> On 4/21/06, Roderick Colenbrander <thunderbird2k at> wrote:
>>One of the things users complain about is wine's sound quality. Problems
>>which you experience range from crackling sound in media players to buffer
>>underruns and high latencies in games.
>>For a part the problem is caused by crappy audio drivers and soundcards.
>>None the less are there things in wine which can be improved to reduce the
>>issues. I don't know this part of the code well but I believe the alsa
>>driver is far from optimal and second the dsound contains some bugs too.
>>In this SoC project a student would need to look into the causes of wine's
>>bad sound quality and try to improve it by fixing winealsa and other parts.
> The only problem I have with this project idea is the ambiguity of
> 'improve dsound/winmm'.  At what point is dsound and winmm considered
> to be improved?  It would be nice to see a list of specific items that
> need to be fixed, and I mean more specific than crackling playback and
> high latencies.  A specific project that would probably help with this
> situation is to combine all wine audio drivers into one driver,
> wineaudio.  The common functionality of the drivers can be factored
> out, reducing code size while at the same time minimizing the chance
> for more bugs.

actually there are different issues (and potential projects):
- factorize all mm drivers into a single one
	o to be done for wave, midi, mixer winmm interfaces
	o potentially, make use of a portability audio library
	  (beware of latency issues, even for winmm here)
	o fix the way mm winmm interfaces are chosen from the available 
       	  ones (tricky when several cards are present on the same
	o to be done for dsound wave interfaces
- make dsound work in all cases. this covers
	o rework no dsound interfaces in audio drivers
	o fix the latency of dsound
	  (may tackle thread priority at some point)
	o work on the audio stream mixing in dsound
- the crossing of the two previous items
	o fix the way dsound interfaces are gotten
           from mm drivers (still a dirty hack today)

Eric Pouech

More information about the wine-devel mailing list