[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