[FFmpeg-devel] [PATCH] avcodec/adpcm: init from extradata before setting sample formats

Zane van Iperen zane at zanevaniperen.com
Sun Apr 25 04:30:29 EEST 2021


Fixes a crash when decoding VQA files.

Reported-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>
---
 libavcodec/adpcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index be14607eac..b031e24981 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -111,6 +111,8 @@ static av_cold int adpcm_decode_init(AVCodecContext * avctx)
     unsigned int min_channels = 1;
     unsigned int max_channels = 2;
 
+    adpcm_flush(avctx);
+
     switch(avctx->codec->id) {
     case AV_CODEC_ID_ADPCM_IMA_AMV:
         max_channels = 1;
@@ -201,8 +203,6 @@ static av_cold int adpcm_decode_init(AVCodecContext * avctx)
     default:
         avctx->sample_fmt = AV_SAMPLE_FMT_S16;
     }
-
-    adpcm_flush(avctx);
     return 0;
 }
 
-- 
2.29.3



More information about the ffmpeg-devel mailing list