Frankly if you could get ALSA working perfectly, and DSOUND to do what it's supposed to without underruns (As in WoW, with default settings) You would make my life a lot easier. I answer so many questions about sound it's not even funny. Out of the box "Just working" sound would be pretty great.  OSS is *alright* and all but it doesn't work so well with software mixing, ALSA however is easy to set up.
<br><br><div><span class="gmail_quote">On 3/13/07, <b class="gmail_sendername">Maarten Lankhorst</b> &lt;<a href="mailto:m.b.lankhorst@gmail.com">m.b.lankhorst@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
For the summer of code I&#39;m planning to improve the dsound code and alsa<br>code, to make alsa finally better then OSS, in a way that has a will get<br>accepted into the wine tree, for that I&#39;m thinking of improving on the
<br>following fronts:<br><br>Winealsa:<br>- Add mixer device and aux controls<br>- Implement dsound capture<br>- Seperate the initialisation of the directsound code from the waveout<br>code, to allow creation of multiple dmix devices.
<br>- Try to configure alsa to allow arbitrarily big buffers, working around<br>the alsa problem that only up to a certain amount can be allocated for<br>buffers, certain programs (for example winamp) may require more.<br>
- Remove the queuing thread and use Lock() and Unlock() instead.<br>- Make it run so well, people wouldn&#39;t want to use OSS any more.<br><br>Both dsound/winealsa:<br>- Allow proper usage of Lock() and Unlock() for sound drivers, it&#39;s not
<br>used properly or even tested in current dsound code.<br>- Rework some of the dsound code, to allow mixing to be done in<br>winealsa, and fix possible errors that can be caused by it.<br>- Improve the dsound software mixer code to allow mixing and (if
<br>possible) be less prone to buffer underruns.<br><br>The challenge is to get this working right, without too much of an<br>impact hit. I also will have to work around alsa limitations: I cannot<br>make buffers arbitrarily big, while in windows they can be. It seems no
<br>2 programs use dsound in the same way, so I will have to test with<br>various different programs to get everything working.<br><br>I&#39;ll try to get in contact with alsa-devel first, if there is a way to<br>change buffer size to something arbitrary, it is worth it in the long
<br>run to use that method. A manual fix seems to be close everything using<br>alsa, then echo 256 &gt; /proc/asound/card0/pcm0p/sub0/prealloc, but I am<br>hoping there is an easier way to fix it, in either case I am afraid I
<br>will have to put some memory buffer code in winealsa as fallback.<br><br>If there&#39;s still some time left, I&#39;ll also try to get some 3d sound code<br>in, using some openal code, the license seems to be lgpl compatible, or
<br>I will try to get support for multiple (4, 5.1 ?) speakers working, it<br>depends a little on how fast I can get this to work in a nice shape.<br><br>Looking for feedback.<br><br>Cheers,<br>Maarten<br><br><br></blockquote>
</div><br><br clear="all"><br>-- <br>Cheers,<br>Bryan