http://bugs.winehq.org/show_bug.cgi?id=21643
--- Comment #8 from Jörg Höhle hoehle@users.sourceforge.net 2010-02-11 18:25:42 --- Issue fixed by commit a8b80787047a87b62355b8524d68979ae19a2adb Please mark as resolved, so it will become closed with the next release.
all the ooch lines are gone.
Actually not surprising, only the mapper reports that.
2 observations: winmm:Adding stream [dwBufferLength=4096/4092 size=64] winmm:Adding stream [dwBufferLength=4096/1296 size=64] It looks like this program mixes dwBufferLength and dwBufferRecorded -- unless MS changed the structures some time! The sizes 4092 and 1296 look like the actual buffer sizes, and it seems the ooch and MEVT would be avoided if these were the true limits. Instead, Wine scans the buffer until 4096 and barfs on garbage.
Scanning the internet, it looks like the sizeof(MIDIHDR) check in midiOutPrepare in Wine is inappropriate. This program is not affected, but there's a lot of VB sample code that does not know the dwOffset and dwReserved[8] slots, hence supplies a smaller size. Likewise, some other code (.NET, Perl, Python) and MSDN lists dwReserved[4]. Wine would not allow to Prepare those samples. There must be a lot of MIDI apps mute in Wine out there, let's go find them. In the meantime, more tests are needed.