avcodec/pdvdec: fix leaks on init failure and when seeking

pull/389/head
Paul B Mahol 2 years ago
parent dc2da568cf
commit 0dceda12e7
  1. 11
      libavcodec/pdvdec.c

@ -113,6 +113,13 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame,
return avpkt->size;
}
static void decode_flush(AVCodecContext *avctx)
{
PDVContext *s = avctx->priv_data;
av_frame_unref(s->previous_frame);
}
const FFCodec ff_pdv_decoder = {
.p.name = "pdv",
CODEC_LONG_NAME("PDV (PlayDate Video)"),
@ -120,8 +127,10 @@ const FFCodec ff_pdv_decoder = {
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_PDV,
.p.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM,
.caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
FF_CODEC_CAP_INIT_CLEANUP,
.init = decode_init,
.close = decode_end,
.flush = decode_flush,
FF_CODEC_DECODE_CB(decode_frame),
};

Loading…
Cancel
Save