From 43fe6a29050fc34848731aa220292587f7ace5bd Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 30 Dec 2011 20:56:06 +0100 Subject: [PATCH] vsrc_buffer: release the buffer on uninit. --- libavfilter/vsrc_buffer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libavfilter/vsrc_buffer.c b/libavfilter/vsrc_buffer.c index 178b3e68bb..e5b96a60cf 100644 --- a/libavfilter/vsrc_buffer.c +++ b/libavfilter/vsrc_buffer.c @@ -114,6 +114,14 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) return 0; } +static av_cold void uninit(AVFilterContext *ctx) +{ + BufferSourceContext *s = ctx->priv; + if (s->buf) + avfilter_unref_buffer(s->buf); + s->buf = NULL; +} + static int query_formats(AVFilterContext *ctx) { BufferSourceContext *c = ctx->priv; @@ -167,6 +175,7 @@ AVFilter avfilter_vsrc_buffer = { .query_formats = query_formats, .init = init, + .uninit = uninit, .inputs = (AVFilterPad[]) {{ .name = NULL }}, .outputs = (AVFilterPad[]) {{ .name = "default",