Module: libav Branch: master Commit: 20e081dddcffa6eec459d695f3850796d1bdd7f7
Author: Justin Ruggles <[email protected]> Committer: Justin Ruggles <[email protected]> Date: Fri Oct 28 10:35:15 2011 -0400 libgsm: add flush function to reset the decoder state when seeking --- libavcodec/libgsm.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index bca7bfb..c02594d 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -194,6 +194,11 @@ static int libgsm_decode_frame(AVCodecContext *avctx, return avctx->block_align; } +static void libgsm_flush(AVCodecContext *avctx) { + gsm_destroy(avctx->priv_data); + avctx->priv_data = gsm_create(); +} + AVCodec ff_libgsm_decoder = { .name = "libgsm", .type = AVMEDIA_TYPE_AUDIO, @@ -201,6 +206,7 @@ AVCodec ff_libgsm_decoder = { .init = libgsm_decode_init, .close = libgsm_decode_close, .decode = libgsm_decode_frame, + .flush = libgsm_flush, .long_name = NULL_IF_CONFIG_SMALL("libgsm GSM"), }; @@ -211,5 +217,6 @@ AVCodec ff_libgsm_ms_decoder = { .init = libgsm_decode_init, .close = libgsm_decode_close, .decode = libgsm_decode_frame, + .flush = libgsm_flush, .long_name = NULL_IF_CONFIG_SMALL("libgsm GSM Microsoft variant"), }; _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
