http://bugs.winehq.org/show_bug.cgi?id=28056
--- Comment #31 from Jörg Höhle hoehle@users.sourceforge.net 2011-09-27 14:44:00 CDT --- I propose to either - repurpose this issue as "blocking writes in OSS cause hangs" and classify as major, then mark fixed once blocking is fixed, or - refocus on the initial issue "broken sound in Morrowind + Starcraft", which according to comment #22 has turned into "loss of sound after some time", which is likely an underrun issue, but the details are shadowed by the blocking writes.
The other issues from comment #29 might be turned into distinct bug reports. For instance, incorrect GetPosition (not based on GET_ODELAY) is shared with the ALSA driver.
Alex, Mateusz, did you try out the NONBLOCK hack? Did you try out the 2 waveOutReset + WHDR_DONE patches together?