]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/zerocodec: implement flushing
authorPaul B Mahol <onemda@gmail.com>
Thu, 9 Apr 2020 08:45:55 +0000 (10:45 +0200)
committerPaul B Mahol <onemda@gmail.com>
Fri, 10 Apr 2020 10:22:09 +0000 (12:22 +0200)
libavcodec/zerocodec.c

index e67eee4f7d8f0f515ecd921ffed965aaf3ddf46a..b0fab91004dd215e24afff66c04fbfcf2a7da543 100644 (file)
@@ -139,6 +139,13 @@ static av_cold int zerocodec_decode_init(AVCodecContext *avctx)
     return 0;
 }
 
+static void zerocodec_decode_flush(AVCodecContext *avctx)
+{
+    ZeroCodecContext *zc = avctx->priv_data;
+
+    av_frame_unref(zc->previous_frame);
+}
+
 AVCodec ff_zerocodec_decoder = {
     .type           = AVMEDIA_TYPE_VIDEO,
     .name           = "zerocodec",
@@ -147,6 +154,7 @@ AVCodec ff_zerocodec_decoder = {
     .priv_data_size = sizeof(ZeroCodecContext),
     .init           = zerocodec_decode_init,
     .decode         = zerocodec_decode_frame,
+    .flush          = zerocodec_decode_flush,
     .close          = zerocodec_decode_close,
     .capabilities   = AV_CODEC_CAP_DR1,
     .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE,