[SPAM] Problem with patch "dsound: Simplify mixing by removing
remixing support, and fix its waveout breakage"
Alex Villacís Lasso
a_villacis at palosanto.com
Mon Jun 25 17:11:18 CDT 2007
Chris Rankin escribió:
> Hi,
>
> This patch has killed the sound on World of Warcraft. Instead, I now get silence and a stream of
> errors like this:
>
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
> err:dsound:DSOUND_CalcPlayPosition Bad length in CalcPlayPosition!
>
> The following change makes the sound work again without error messages, but there is still a brief
> burst of sound/noise before the music starts properly:
>
> $ cvswine diff dlls/dsound/buffer.c
> Index: dlls/dsound/buffer.c
> ===================================================================
> RCS file: /home/wine/wine/dlls/dsound/buffer.c,v
> retrieving revision 1.70
> diff -u -r1.70 buffer.c
> --- dlls/dsound/buffer.c 22 Jun 2007 12:37:22 -0000 1.70
> +++ dlls/dsound/buffer.c 25 Jun 2007 19:08:34 -0000
> @@ -442,15 +442,15 @@
> pmix *= This->pwfx->nBlockAlign;
>
> TRACE("this back-offset=%d\n", pmix);
> -
> +#if 0
> /* sanity */
> if(pmix > This->buflen){
> ERR("Bad length in CalcPlayPosition!\n");
> return 0;
> }
> -
> +#endif
> /* subtract from our last mixed position */
> - if (bplay < pmix) bplay += This->buflen; /* wraparound */
> + while (bplay < pmix) bplay += This->buflen; /* wraparound */
> bplay -= pmix;
>
> /* check for lead-in */
>
>
> Cheers,
> Chris
>
>
>
>
>
>
> ___________________________________________________________
> New Yahoo! Mail is the ultimate force in competitive emailing. Find out more at the Yahoo! Mail Championships. Plus: play games and win prizes.
> http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk
>
>
You might try the patch with the title "DSOUND: recover from mismatch
between time spanned by primary buffer being longer than the one spanned
by secondary buffer", which I sent along with some other patches today.
It looks somewhat similar to the one you sent.
Alex Villacís Lasso
--
perl -e '$x=2.4;print sprintf("%.0f + %.0f = %.0f\n",$x,$x,$x+$x);'
More information about the wine-devel
mailing list