Nikolay Stefanov wrote:
Hi,
I have a SIS SI7012 (Intel 810 chipset) built-in audio card, which turns out to be capable of only 48000Hz sample rate in hardware. The ALSA winmm driver in Wine is hardcoded to use the first hardware pcm device ("hw:0") directly, and therefore fails for any wave format request with a sample rate different than 48000Hz. I have lifted some code from dsound and put together a patch which adds the option to read the device name from the Wine configuration file. As a result I have now got Winamp working (hurray for me!).
HOWEVER there are still issues - the "default" ALSA device doesn't like the way Wine accesses it through mmap, and also it seems that it is not possible to set the buffer size and period size the way it is done now. Other programs that use ALSA, like aplay and mplayer, don't have this problem. My knowledge of Wine and ALSA is pretty meagre, so can anyone can provide any insight as to how to fix this issue?
My config file now looks like this [alsa] ;"Device" = "hw:0" "Device" = "default" "UseMMAP" = "N"
I assume you're using ALSA 0.9 (not 0.5) and that winamp uses the dsound interface
I don't think this is the right think to do: - from hard coding the driver name, winealsa should enumerate all installed alsa drivers, and be prepared to open such a device - from the mmap configuration, this should be identified at run time, not by an obscure configuration option
A+