diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2012-08-06 13:06:25 -0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2012-08-06 14:39:21 -0400 |
commit | fdbeae449030543525ce45b048c0241643ce02ef (patch) | |
tree | fc43e526088eb5ec825f7d9a01559961b8959192 /libavcodec | |
parent | 2fa57c9daf5b535bf9aa5253b45cc3df6bc05aa8 (diff) | |
download | ffmpeg-fdbeae449030543525ce45b048c0241643ce02ef.tar.gz |
mpc8: add a flush function
Ensures that the next frame decoded after seeking will be decoded as a
keyframe.
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mpc8.c | 7 |
1 files changed, 7 insertions, 0 deletions
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"), }; |