Maarten Lankhorst wrote:
Hello Timofei,
Timofei V. Bondarenko schreef:
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.
I took a quick look, it's incorrect for dscapture and dsoutput, underruns are already handled there in CheckXRUN, in case of _Stop it is unneeded as well since it just stopped and restarted, no underruns possible. The only thing needed in that part is that the < 0 checks need to have a cast to sframes.
Sure, you know better about it supposed to work ;-) when i can notice the obvious mistakes only.
My main concern is the widRecorder() not the ds though.
Regards, Tim.