aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libavfilter/vf_select.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavfilter/vf_select.c b/libavfilter/vf_select.c
index 3cd2347fa4..33269b6594 100644
--- a/libavfilter/vf_select.c
+++ b/libavfilter/vf_select.c
@@ -319,14 +319,18 @@ static av_cold void uninit(AVFilterContext *ctx)
AVFilterBufferRef *picref;
int i;
+ if (select->expr)
av_expr_free(select->expr);
select->expr = NULL;
+ if (select->pending_frames) {
for (i = 0; i < av_fifo_size(select->pending_frames)/sizeof(picref); i++) {
av_fifo_generic_read(select->pending_frames, &picref, sizeof(picref), NULL);
avfilter_unref_buffer(picref);
}
av_fifo_free(select->pending_frames);
+ }
+ select->pending_frames = NULL;
}
AVFilter avfilter_vf_select = {