diff --git a/modules/audio_filter/converter/format.c b/modules/audio_filter/converter/format.c index fbcf651b8557c13e142a9f765ac089e48802d19c..3e4bb3bd70b208dbcecbb17f0896ded14853a6a0 100644 --- a/modules/audio_filter/converter/format.c +++ b/modules/audio_filter/converter/format.c @@ -278,7 +278,7 @@ static block_t *Fi32toS16(filter_t *filter, block_t *b) else if (v <= -FIXED32_ONE) *dst++ = INT16_MIN; else - *dst++ = v >> (32 - FIXED32_FRACBITS); + *dst++ = v >> (FIXED32_FRACBITS - 15); } b->i_buffer /= 2; return b;