From c5aeb8f4db5529cdb5248bbb7154adf6f0c8faf3 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 6 Feb 2023 18:26:01 +0100 Subject: [PATCH] avcodec/wavarc: really fix bits per sample detection --- libavcodec/wavarc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/wavarc.c b/libavcodec/wavarc.c index b18a88000b..20371b53de 100644 --- a/libavcodec/wavarc.c +++ b/libavcodec/wavarc.c @@ -52,7 +52,7 @@ static av_cold int wavarc_init(AVCodecContext *avctx) { WavArcContext *s = avctx->priv_data; - if (avctx->extradata_size < 44) + if (avctx->extradata_size < 52) return AVERROR_INVALIDDATA; if (AV_RL32(avctx->extradata + 16) != MKTAG('R','I','F','F')) return AVERROR_INVALIDDATA; @@ -68,9 +68,9 @@ static av_cold int wavarc_init(AVCodecContext *avctx) av_channel_layout_default(&avctx->ch_layout, AV_RL16(avctx->extradata + 38)); avctx->sample_rate = AV_RL32(avctx->extradata + 40); - switch (AV_RL16(avctx->extradata + 38)) { - case 1: avctx->sample_fmt = AV_SAMPLE_FMT_U8P; break; - case 2: avctx->sample_fmt = AV_SAMPLE_FMT_S16P; break; + switch (AV_RL16(avctx->extradata + 50)) { + case 8: avctx->sample_fmt = AV_SAMPLE_FMT_U8P; break; + case 16: avctx->sample_fmt = AV_SAMPLE_FMT_S16P; break; } s->shift = 0;