[FFmpeg-cvslog] vf_frei0r: make config_props work properly when called multiple times.
Anton Khirnov
git at videolan.org
Fri May 17 10:59:53 CEST 2013
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Mon Mar 18 21:31:54 2013 +0100| [d371c3c2e2830d9783465ecfe1ab7d93351083b7] | committer: Anton Khirnov
vf_frei0r: make config_props work properly when called multiple times.
Do not leak the initialized filter instance.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d371c3c2e2830d9783465ecfe1ab7d93351083b7
---
libavfilter/vf_frei0r.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavfilter/vf_frei0r.c b/libavfilter/vf_frei0r.c
index ff7e308..7e79b28 100644
--- a/libavfilter/vf_frei0r.c
+++ b/libavfilter/vf_frei0r.c
@@ -317,6 +317,8 @@ static int config_input_props(AVFilterLink *inlink)
AVFilterContext *ctx = inlink->dst;
Frei0rContext *s = ctx->priv;
+ if (s->destruct && s->instance)
+ s->destruct(s->instance);
if (!(s->instance = s->construct(inlink->w, inlink->h))) {
av_log(ctx, AV_LOG_ERROR, "Impossible to load frei0r instance");
return AVERROR(EINVAL);
@@ -451,6 +453,8 @@ static int source_config_props(AVFilterLink *outlink)
outlink->h = s->h;
outlink->time_base = s->time_base;
+ if (s->destruct && s->instance)
+ s->destruct(s->instance);
if (!(s->instance = s->construct(outlink->w, outlink->h))) {
av_log(ctx, AV_LOG_ERROR, "Impossible to load frei0r instance");
return AVERROR(EINVAL);
More information about the ffmpeg-cvslog
mailing list