diff options
Diffstat (limited to 'libavcodec')
-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; |