From fdbeae449030543525ce45b048c0241643ce02ef Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Mon, 6 Aug 2012 13:06:25 -0400 Subject: mpc8: add a flush function Ensures that the next frame decoded after seeking will be decoded as a keyframe. --- libavcodec/mpc8.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libavcodec/mpc8.c') diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c index f2e8342dcb..639adaac3b 100644 --- a/libavcodec/mpc8.c +++ b/libavcodec/mpc8.c @@ -420,6 +420,12 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data, return c->cur_frame ? c->last_bits_used >> 3 : buf_size; } +static av_cold void mpc8_decode_flush(AVCodecContext *avctx) +{ + MPCContext *c = avctx->priv_data; + c->cur_frame = 0; +} + AVCodec ff_mpc8_decoder = { .name = "mpc8", .type = AVMEDIA_TYPE_AUDIO, @@ -427,6 +433,7 @@ AVCodec ff_mpc8_decoder = { .priv_data_size = sizeof(MPCContext), .init = mpc8_decode_init, .decode = mpc8_decode_frame, + .flush = mpc8_decode_flush, .capabilities = CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("Musepack SV8"), }; -- cgit v1.2.3