diff options
author | Paul B Mahol <onemda@gmail.com> | 2023-02-06 18:26:01 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2023-02-06 18:27:45 +0100 |
commit | c5aeb8f4db5529cdb5248bbb7154adf6f0c8faf3 (patch) | |
tree | 9e0eef0fee0762202a3930c6375fcc0155388c73 | |
parent | 64b242d03078630bbe7570d0775d3a68f166306c (diff) | |
download | ffmpeg-c5aeb8f4db5529cdb5248bbb7154adf6f0c8faf3.tar.gz |
avcodec/wavarc: really fix bits per sample detection
-rw-r--r-- | libavcodec/wavarc.c | 8 |
1 files 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; |