summaryrefslogtreecommitdiff
path: root/libavcodec/s302m.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/s302m.c')
-rw-r--r--libavcodec/s302m.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libavcodec/s302m.c b/libavcodec/s302m.c
index 5cf9eb5b1d..24130d8786 100644
--- a/libavcodec/s302m.c
+++ b/libavcodec/s302m.c
@@ -85,10 +85,6 @@ static int s302m_parse_frame_header(AVCodecContext *avctx, const uint8_t *buf,
case 8:
avctx->channel_layout = AV_CH_LAYOUT_5POINT1_BACK | AV_CH_LAYOUT_STEREO_DOWNMIX;
}
- avctx->bit_rate = 48000 * avctx->channels * (avctx->bits_per_raw_sample + 4) +
- 32 * (48000 / (buf_size * 8 /
- (avctx->channels *
- (avctx->bits_per_raw_sample + 4))));
return frame_size;
}
@@ -117,6 +113,8 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
+ avctx->bit_rate = 48000 * avctx->channels * (avctx->bits_per_raw_sample + 4) +
+ 32 * 48000 / frame->nb_samples;
buf_size = (frame->nb_samples * avctx->channels / 2) * block_size;
if (avctx->bits_per_raw_sample == 24) {