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

Zane van Iperen git at videolan.org
Sun Apr 25 14:40:19 EEST 2021


ffmpeg | branch: master | Zane van Iperen <zane at zanevaniperen.com> | Sun Apr 25 11:27:41 2021 +1000| [ff946633a30e15415974c3f0ec7751c04eb91701] | committer: Zane van Iperen

avcodec/adpcm: init from extradata before setting sample formats

Fixes a crash when decoding VQA files.

Regression since c012f9b265e172de9c240c9dfab8665936fa3e83.

Reported-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ff946633a30e15415974c3f0ec7751c04eb91701
---

 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;
 }
 



More information about the ffmpeg-cvslog mailing list