[FFmpeg-cvslog] avcodec/msrle: add a flush() callback

Paul B Mahol git at videolan.org
Thu Aug 29 19:32:17 EEST 2019


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Aug 29 18:28:49 2019 +0200| [0067da587a08d32c1eaafa6d10eb27660f03c07a] | committer: Paul B Mahol

avcodec/msrle: add a flush() callback

The reference frame isn't valid after seeking.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0067da587a08d32c1eaafa6d10eb27660f03c07a
---

 libavcodec/msrle.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
index 61bc02df04..b83b3d2a41 100644
--- a/libavcodec/msrle.c
+++ b/libavcodec/msrle.c
@@ -148,6 +148,13 @@ static int msrle_decode_frame(AVCodecContext *avctx,
     return buf_size;
 }
 
+static void msrle_decode_flush(AVCodecContext *avctx)
+{
+    MsrleContext *s = avctx->priv_data;
+
+    av_frame_unref(s->frame);
+}
+
 static av_cold int msrle_decode_end(AVCodecContext *avctx)
 {
     MsrleContext *s = avctx->priv_data;
@@ -167,5 +174,6 @@ AVCodec ff_msrle_decoder = {
     .init           = msrle_decode_init,
     .close          = msrle_decode_end,
     .decode         = msrle_decode_frame,
+    .flush          = msrle_decode_flush,
     .capabilities   = AV_CODEC_CAP_DR1,
 };



More information about the ffmpeg-cvslog mailing list