summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2023-02-06 18:26:01 +0100
committerPaul B Mahol <onemda@gmail.com>2023-02-06 18:27:45 +0100
commitc5aeb8f4db5529cdb5248bbb7154adf6f0c8faf3 (patch)
tree9e0eef0fee0762202a3930c6375fcc0155388c73 /libavcodec
parent64b242d03078630bbe7570d0775d3a68f166306c (diff)
avcodec/wavarc: really fix bits per sample detection
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/wavarc.c8
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;