diff options
-rw-r--r-- | sound/rate.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/rate.cpp b/sound/rate.cpp index 4c026adb83..c056b85a9a 100644 --- a/sound/rate.cpp +++ b/sound/rate.cpp @@ -118,7 +118,7 @@ int st_rate_flow(eff_t effp, AudioInputStream &input, st_sample_t *obuf, st_size icur = input.peek(); /* interpolate */ - out = ilast + (((icur - ilast) * rate->opos_frac) >> FRAC_BITS); + out = ilast + (((icur - ilast) * rate->opos_frac + (1UL << (FRAC_BITS-1))) >> FRAC_BITS); /* output sample & increment position */ out = out * vol / 256; |