diff options
author | notaz | 2014-12-21 02:20:41 +0200 |
---|---|---|
committer | notaz | 2014-12-21 02:31:24 +0200 |
commit | bdd050c3ed792381df2e744fee5b7ee80b93fd68 (patch) | |
tree | 39c7d34f94ae90e890cdf1ae9a0f5d14e88cb5c1 /plugins/dfsound | |
parent | c4c66b22ae607aa8dc5e6983f7ab030ead01faae (diff) | |
download | pcsx_rearmed-bdd050c3ed792381df2e744fee5b7ee80b93fd68.tar.gz pcsx_rearmed-bdd050c3ed792381df2e744fee5b7ee80b93fd68.tar.bz2 pcsx_rearmed-bdd050c3ed792381df2e744fee5b7ee80b93fd68.zip |
spu: fix first sample, don't play ahead
Diffstat (limited to 'plugins/dfsound')
-rw-r--r-- | plugins/dfsound/spu.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 2c13ca1..835555d 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -5,7 +5,7 @@ copyright : (C) 2002 by Pete Bernert email : BlackDove@addcom.de - Portions (C) Gražvydas "notaz" Ignotas, 2010-2012 + Portions (C) Gražvydas "notaz" Ignotas, 2010-2012,2014 ***************************************************************************/ /*************************************************************************** @@ -253,14 +253,13 @@ INLINE void StartSound(int ch) s_chan[ch].SB[26]=0; // init mixing vars s_chan[ch].SB[27]=0; - s_chan[ch].iSBPos=28; + s_chan[ch].iSBPos=27; + s_chan[ch].SB[28]=0; s_chan[ch].SB[29]=0; // init our interpolation helpers s_chan[ch].SB[30]=0; - - if(spu_config.iUseInterpolation>=2) // gauss interpolation? - {s_chan[ch].spos=0x30000L;s_chan[ch].SB[28]=0;} // -> start with more decoding - else {s_chan[ch].spos=0x10000L;s_chan[ch].SB[31]=0;} // -> no/simple interpolation starts with one 44100 decoding + s_chan[ch].SB[31]=0; + s_chan[ch].spos=0; spu.dwNewChannel&=~(1<<ch); // clear new channel bit } |