From: Justin Ruggles Date: Fri, 28 Oct 2011 14:07:41 +0000 (-0400) Subject: gsmdec: add flush function to reset the decoder state when seeking X-Git-Tag: android-x86-4.4-r1~8529^2~4741 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fc43fc9faa6edc3c8df76cfa51510a98958563e6;p=android-x86%2Fexternal-ffmpeg.git gsmdec: add flush function to reset the decoder state when seeking --- diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c index 26340c2792..77c22e5d79 100644 --- a/libavcodec/gsmdec.c +++ b/libavcodec/gsmdec.c @@ -87,6 +87,12 @@ static int gsm_decode_frame(AVCodecContext *avctx, void *data, return avctx->block_align; } +static void gsm_flush(AVCodecContext *avctx) +{ + GSMContext *s = avctx->priv_data; + memset(s, 0, sizeof(*s)); +} + AVCodec ff_gsm_decoder = { .name = "gsm", .type = AVMEDIA_TYPE_AUDIO, @@ -94,6 +100,7 @@ AVCodec ff_gsm_decoder = { .priv_data_size = sizeof(GSMContext), .init = gsm_init, .decode = gsm_decode_frame, + .flush = gsm_flush, .long_name = NULL_IF_CONFIG_SMALL("GSM"), }; @@ -104,5 +111,6 @@ AVCodec ff_gsm_ms_decoder = { .priv_data_size = sizeof(GSMContext), .init = gsm_init, .decode = gsm_decode_frame, + .flush = gsm_flush, .long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"), };