avfilter/vf_separatefields: stop leaking last frame

This can happen when filtering is ended without receiving EOF.
This commit is contained in:
Paul B Mahol 2017-08-08 18:45:32 +02:00
parent 463b81de2b
commit 41096904d0
1 changed files with 8 additions and 0 deletions

View File

@ -118,6 +118,13 @@ static int request_frame(AVFilterLink *outlink)
return ret;
}
static av_cold void uninit(AVFilterContext *ctx)
{
SeparateFieldsContext *s = ctx->priv;
av_frame_free(&s->second);
}
static const AVFilterPad separatefields_inputs[] = {
{
.name = "default",
@ -141,6 +148,7 @@ AVFilter ff_vf_separatefields = {
.name = "separatefields",
.description = NULL_IF_CONFIG_SMALL("Split input video frames into fields."),
.priv_size = sizeof(SeparateFieldsContext),
.uninit = uninit,
.inputs = separatefields_inputs,
.outputs = separatefields_outputs,
};