SoC idea: improve dsound/winmm
eric.pouech at wanadoo.fr
Sat Apr 22 03:26:28 CDT 2006
James Hawkins wrote:
> On 4/21/06, Roderick Colenbrander <thunderbird2k at gmx.net> 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)
More information about the wine-devel