SoC idea: improve dsound/winmm

Willie Sippel willie at zeitgeistmedia.net
Sat Apr 22 11:49:39 CDT 2006


Don't know if this really helps in any way, but I think it should be noted: 
For a few games (eg, Freelancer), I noticed that the background music 
stutters. This is often _not_ DSound or WinMM related, but a bug in Wine's 
MP3 codec. Using a native codec (eg, Fraunhofer Radium codec) fixes the 
stutter. 


Am Samstag, 22. April 2006 10:26 schrieb Eric Pouech:
> James Hawkins wrote:
> > On 4/21/06, Roderick Colenbrander <thunderbird2k at gmx.net> wrote:
> >>Hi,
> >>
> >>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
>            machine)
> 	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)
>
> A+

-- 
Willie Sippel

  ////////  |  Tritium Studios
 //         |  ______________________________
//// ///    |  http://www.tritium-studios.com

<willie at froq.net>



More information about the wine-devel mailing list