Nikolay Stefanov wrote:
I've fixed the problem - turns out that ALSA driver doesn't like it when the
buffer and period sizes are set directly. I modified the setup code to use
buffer and period times instead, with some values that I copied from the OGLE
alsa driver. Also it seems that the driver crashes if these are set before the
sample rate, if you are wondering about the change of order. Everything seems
to work normally now, I tested it with WinAmp and some games.

What do you think, is this is a driver issue or a wine issue? None of the other
projects that I checked (ogle, mplayer) set the sizes directly, they use time
values instead.
If all other ALSA users do it this way, then Wine is certainly incorrect.

Lastly, is there any special reason why the dsound implementation is not
using mmap_write, like the wave one does?
at the time this has been written, it has been tried to do so, but differencies in mapping between ALSA and way dsound does the mapping made it quite difficult (search in wine-devel archives for the detail)

Nikolay

PS: Thanks to Michal Miroslaw for the patch, it's a lot simpler than what I did
initially.
looks way better than previous ok
you can safely submit to wine-patches for inclusion
A+



Reply via email to