[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: Re: MSACM: initialize some ACMSTREAMHEADER fields for the sake of
From: Alex_Villacís_Lasso
Date: 2005-12-29 15:44:37
Message-ID: 43B40465.6090300 () palosanto ! com
[Download RAW message or body]
Eric Pouech wrote:
> Alex Villacís Lasso wrote:
>
>> The ACMAPP sample application from MSDN reveals this annoying bug in
>> playback: with a native ACM codec (such as the Ogg Vorbis one bundled
>> with some Japanese RPGs), builtin msacm will successfully tell the
>> codec to decode the first two frames of compressed audio, and then
>> the sound will loop on these two frames. What is really happening is
>> that winmm is using double-buffering, and reusing the ACMSTREAMHEADER
>> structures for playback, and acmStreamConvert simply passes the
>> structures into the codec, without clearing cb[Src|Dst]LengthUsed
>> (here is the bug) which was set in the previous call to
>> acmStreamConvert on that ACMSTREAMHEADER. The native codec *expects*
>> these fields to be set to 0, and refuses to decode otherwise.
>
> well, you should check who is supposed to clear those flags between
> msacm or winmm (I suppose wavemap).
> A+
Native msacm (WINEDLLOVERRIDES=msacm32=n) works correctly (no loops)
with native codecs in wine. This suggests that msacm is doing the
clearing, since it is using the same builtin winmm.
Alex Villacís Lasso
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic