http://bugs.winehq.org/show_bug.cgi?id=29299
--- Comment #12 from Jörg Höhle hoehle@users.sourceforge.net 2012-01-27 07:47:23 CST --- For the submitted patch, I reverted to using HeapAlloc like you did, because the lock-free design I have in mind won't allow using the tmp_buffer.
This->bufsize_frames = ... was moved based on the idea that it's only after ALSA is set that mmdevapi's definitive buffer shall be decided. Do you really consider it sane when mmdevapi < ALSA buffer or even ALSA period? I think it'll work, but still...
Béla, please test my patch with all related bugs and apps you know, e.g. bug #26878. It may or may not help, as I wrote when submitting: "The lead-in may solve half the bugs about apps hanging when writing few samples. The other half depends on the lead-out, i.e. both GetCurrentPadding and GetPosition reaching the sum of Release'd frames."