Browse Source

scale: fix leak occurring when a scale filter is reconfigured

This currently only occurrs in vsrc_buffer in case of mid-stream
size/format change.

Fix trac issue #124.
tags/n0.8
Stefano Sabatini 15 years ago
parent
commit
f97905e61d
1 changed files with 5 additions and 1 deletions
  1. +5
    -1
      libavfilter/vf_scale.c

+ 5
- 1
libavfilter/vf_scale.c View File

@@ -214,14 +214,18 @@ static int config_props(AVFilterLink *outlink)

scale->input_is_pal = av_pix_fmt_descriptors[inlink->format].flags & PIX_FMT_PAL;

if(scale->sws)
if (scale->sws)
sws_freeContext(scale->sws);
scale->sws = sws_getContext(inlink ->w, inlink ->h, inlink ->format,
outlink->w, outlink->h, outlink->format,
scale->flags, NULL, NULL, NULL);
if (scale->isws[0])
sws_freeContext(scale->isws[0]);
scale->isws[0] = sws_getContext(inlink ->w, inlink ->h/2, inlink ->format,
outlink->w, outlink->h/2, outlink->format,
scale->flags, NULL, NULL, NULL);
if (scale->isws[1])
sws_freeContext(scale->isws[1]);
scale->isws[1] = sws_getContext(inlink ->w, inlink ->h/2, inlink ->format,
outlink->w, outlink->h/2, outlink->format,
scale->flags, NULL, NULL, NULL);


Loading…
Cancel
Save