From f28f146473808fdf97501caab1249381e909cf2c Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 30 Jan 2010 21:55:18 +0000 Subject: [PATCH] Flush the bitreservour. Fixes issue1716 Originally committed as revision 21559 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/wmadec.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 958e185534..5e04e512f1 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -920,6 +920,14 @@ static int wma_decode_superframe(AVCodecContext *avctx, return -1; } +static av_cold void flush(AVCodecContext *avctx) +{ + WMACodecContext *s = avctx->priv_data; + + s->last_bitoffset= + s->last_superframe_len= 0; +} + AVCodec wmav1_decoder = { "wmav1", @@ -930,6 +938,7 @@ AVCodec wmav1_decoder = NULL, ff_wma_end, wma_decode_superframe, + .flush=flush, .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 1"), }; @@ -943,5 +952,6 @@ AVCodec wmav2_decoder = NULL, ff_wma_end, wma_decode_superframe, + .flush=flush, .long_name = NULL_IF_CONFIG_SMALL("Windows Media Audio 2"), };