diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -132,17 +132,18 @@ struct feed_eq_coeff_tone *treble, *bass; intpcm64_t w; intpcm_t v; - uint32_t i, j; + uint32_t i, j, bps; int32_t pmul, pshift; pmul = feed_eq_preamp[info->preamp].mul; pshift = feed_eq_preamp[info->preamp].shift; + bps = AFMT_BPS(info->fmt); if (info->state == FEEDEQ_DISABLE) { j = count * info->channels; - dst += j * AFMT_BPS(info->fmt); + dst += j * bps; do { - dst -= AFMT_BPS(info->fmt); + dst -= bps; v = pcm_sample_read(dst, info->fmt, false); v = ((intpcm64_t)pmul * v) >> pshift; pcm_sample_write(dst, v, info->fmt, false); @@ -188,7 +189,7 @@ info->bass.o1[i] = v; pcm_sample_write(dst, v, info->fmt, true); - dst += AFMT_BPS(info->fmt); + dst += bps; i++; } while (--j != 0); } while (--count != 0);