On Mon, Sep 18, 2006 at 02:12:02PM +0200, Tomas Carnecky wrote:
Jan Zerebecki wrote:
To fix bug #4093 we need to replace the currently used signal callback method (very complex to make signals work properly [in Wine], thus we should avoid it) with I guess a fd based method for example with select. The alsa-api documentation about this looks pretty usable.
Would that fix the DSOUND_MixOne underrun problem, too? Or is that a different bug?
No, as far as I understand this, that might (partially) be a dsound bug (if it is a bug) that gets worse when the thread that handles dsound doesn't get enough cpu (or not at the right time). A couple of weeks ago on IRC Roderick Colenbrander ( Thunderbird ) dug out some old incomplete patch that seemed as if it was intended to fix part of this, but it seemed not to work (deadlock) and I don't think anyone tried futher. Using the SetThreadPrio patch makes this problem much less noticable. Anyway this has only so much to do with winealsa as different sound backends provoke different scheduling by the kernel (like oss, jack and alsa; but this is also true for different ways to use alsa-lib [so the fd-based method may give us "better" scheduling]).
Jan