[Bug 33045] Bunch of Heroes freezing on start at the beginning of the intro video
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Mar 5 07:56:05 CST 2013
http://bugs.winehq.org/show_bug.cgi?id=33045
--- Comment #5 from Andrew Eikum <aeikum at codeweavers.com> 2013-03-05 07:56:05 CST ---
(In reply to comment #3)
> >Is the number of bytes not a multiple of nBlockAlign?
> That's it! Following an intuition, I added -1 to the one line in our
> winmm/wave tests "make sure fragment length is a multiple of block size" and
> got a deadlock resembling yours.
>
Yep, that's exactly it. Bunch of Heroes uses headers with 0x7FFF byte buffers,
which isn't a multiple of 4.
> 2. Investigate what native does with trailing bytes in case of underrun.
> - Throw away?
> - Do they prevent buffer notification, awaiting more bytes from the
> next header to complete a frame? That is a hairy situation!
> - Do they count in GetPosition?
> Alas, this mostly requires audible tests, not testbot.
>
Looks to me like they get thrown away. I wrote a test with two headers, one
header is one byte short and the other is one byte long. After the first header
plays, waveOutGetPosition(TIME_SAMPLES) reports one sample short. After the
second header, it still reports exactly one sample short. Using TIME_BYTES
similarly reports (dwBufferSize - dwBufferSize % nBlockAlign).
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list