Maarten Lankhorst wrote:
Hello Timofei,
Timofei V. Bondarenko schreef:
I've noticed the winealsa does not handle alsa XRUNs. In the case of XRUN application hangs.
I'm aware of the xrun problems in alsa at least the accelerated parts (dsoutput/dscapture), it's been on my todo list for a while but I've been busy lately. The problems with the accelerated parts are not the underruns themselves. They are handled correctly in the places where it matters. The problem is how the underruns are handled in the directsound software mixer. I haven't taken a look yet at how underruns are handled for the not-accelerated system, but I believe that the chance of a underrun there is already very low because buffers there usually have a latency of at least 300ms.
No matter how low the chance: sound is an real-time task while linux is not a real-time system. So underruns still possible. And in case of XRUN widRecorder() tries to read about 4G of data.
Well, I'm a busy man too. So I've wrote a simple patch and sent it to wine-patches. Please look. May be it will be more clear in C than in my broken english.
Regards, Tim.