Fix issue1503, this fix may be incomplete we need more samples to know for sure.
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 25 Apr 2011 23:45:17 +0000 (01:45 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 26 Apr 2011 00:44:33 +0000 (02:44 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/wmadec.c

index fa20bea..3601e47 100644 (file)
@@ -102,6 +102,13 @@ static int wma_decode_init(AVCodecContext * avctx)
     s->use_bit_reservoir = flags2 & 0x0002;
     s->use_variable_block_len = flags2 & 0x0004;
 
+    if(avctx->codec->id == CODEC_ID_WMAV2 && avctx->extradata_size >= 8){
+        if(!AV_RL16(extradata+6) && s->use_variable_block_len){
+            av_log(avctx, AV_LOG_WARNING, "Disabling use_variable_block_len, if this fails contact the ffmpeg developers and send us the file\n");
+            s->use_variable_block_len= 0; // this fixes issue1503
+        }
+    }
+
     if(ff_wma_init(avctx, flags2)<0)
         return -1;