X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fwmadec.c;h=9eaf230b01aa9ec942b0b994f4bc94e7e37bf12b;hb=d2084402e6034e8d49ea50ebe212c4e8783d028a;hp=840025d493ee882d5f5ab1852d1ef20d4729ca89;hpb=87f40364d1a22aff5c9c245fa4ad07275c954248;p=ffmpeg diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 840025d493e..9eaf230b01a 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -828,7 +828,8 @@ static int wma_decode_superframe(AVCodecContext *avctx, } if (buf_size < s->block_align) return AVERROR(EINVAL); - buf_size = s->block_align; + if(s->block_align) + buf_size = s->block_align; samples = data; @@ -911,9 +912,8 @@ static int wma_decode_superframe(AVCodecContext *avctx, } //av_log(NULL, AV_LOG_ERROR, "%d %d %d %d outbytes:%d eaten:%d\n", s->frame_len_bits, s->block_len_bits, s->frame_len, s->block_len, (int8_t *)samples - (int8_t *)data, s->block_align); - *data_size = (int8_t *)samples - (int8_t *)data; - return s->block_align; + return buf_size; fail: /* when error, we reset the bit reservoir */ s->last_superframe_len = 0;