diff --git a/ffmpeg.c b/ffmpeg.c
index 9f2d5b98b44203ead0138a15f7de1fb6181de439..b9309aed43d18c8e35d2845e6ba8a488f6f784f3 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1801,7 +1801,7 @@ static int output_packet(AVInputStream *ist, int ist_index,
                             ret = 0;
                             /* encode any samples remaining in fifo */
                             if (fifo_bytes > 0) {
-                                int osize = av_get_bits_per_sample_fmt(enc->sample_fmt) >> 3;
+                                int osize = av_get_bytes_per_sample(enc->sample_fmt);
                                 int fs_tmp = enc->frame_size;
 
                                 av_fifo_generic_read(ost->fifo, audio_buf, fifo_bytes, NULL);