summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/af_aphaser.c4
-rw-r--r--libavfilter/af_aresample.c4
-rw-r--r--libavfilter/af_atempo.c4
-rw-r--r--libavfilter/af_bs2b.c4
-rw-r--r--libavfilter/af_pan.c4
-rw-r--r--libavfilter/af_volume.c4
-rw-r--r--libavfilter/vf_eq.c4
-rw-r--r--libavfilter/vf_fftfilt.c4
8 files changed, 24 insertions, 8 deletions
diff --git a/libavfilter/af_aphaser.c b/libavfilter/af_aphaser.c
index 780407e924..dcffc216dd 100644
--- a/libavfilter/af_aphaser.c
+++ b/libavfilter/af_aphaser.c
@@ -248,8 +248,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inbuf)
outbuf = inbuf;
} else {
outbuf = ff_get_audio_buffer(inlink, inbuf->nb_samples);
- if (!outbuf)
+ if (!outbuf) {
+ av_frame_free(&inbuf);
return AVERROR(ENOMEM);
+ }
av_frame_copy_props(outbuf, inbuf);
}
diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c
index 0216432470..ef10621c35 100644
--- a/libavfilter/af_aresample.c
+++ b/libavfilter/af_aresample.c
@@ -195,8 +195,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamplesref)
outsamplesref = ff_get_audio_buffer(outlink, n_out);
- if(!outsamplesref)
+ if(!outsamplesref) {
+ av_frame_free(&insamplesref);
return AVERROR(ENOMEM);
+ }
av_frame_copy_props(outsamplesref, insamplesref);
outsamplesref->format = outlink->format;
diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
index d90910598c..76410221d6 100644
--- a/libavfilter/af_atempo.c
+++ b/libavfilter/af_atempo.c
@@ -1090,8 +1090,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *src_buffer)
while (src < src_end) {
if (!atempo->dst_buffer) {
atempo->dst_buffer = ff_get_audio_buffer(outlink, n_out);
- if (!atempo->dst_buffer)
+ if (!atempo->dst_buffer) {
+ av_frame_free(&src_buffer);
return AVERROR(ENOMEM);
+ }
av_frame_copy_props(atempo->dst_buffer, src_buffer);
atempo->dst = atempo->dst_buffer->data[0];
diff --git a/libavfilter/af_bs2b.c b/libavfilter/af_bs2b.c
index 531a27bd73..b7cfd3815b 100644
--- a/libavfilter/af_bs2b.c
+++ b/libavfilter/af_bs2b.c
@@ -134,8 +134,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
out_frame = frame;
} else {
out_frame = ff_get_audio_buffer(inlink, frame->nb_samples);
- if (!out_frame)
+ if (!out_frame) {
+ av_frame_free(&frame);
return AVERROR(ENOMEM);
+ }
av_frame_copy(out_frame, frame);
ret = av_frame_copy_props(out_frame, frame);
if (ret < 0) {
diff --git a/libavfilter/af_pan.c b/libavfilter/af_pan.c
index 63d7750f35..23b29419b6 100644
--- a/libavfilter/af_pan.c
+++ b/libavfilter/af_pan.c
@@ -383,8 +383,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples)
AVFrame *outsamples = ff_get_audio_buffer(outlink, n);
PanContext *pan = inlink->dst->priv;
- if (!outsamples)
+ if (!outsamples) {
+ av_frame_free(&insamples);
return AVERROR(ENOMEM);
+ }
swr_convert(pan->swr, outsamples->extended_data, n,
(void *)insamples->extended_data, n);
av_frame_copy_props(outsamples, insamples);
diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c
index 9ed2dbace3..3d76f12f2c 100644
--- a/libavfilter/af_volume.c
+++ b/libavfilter/af_volume.c
@@ -411,8 +411,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
out_buf = buf;
} else {
out_buf = ff_get_audio_buffer(inlink, nb_samples);
- if (!out_buf)
+ if (!out_buf) {
+ av_frame_free(&buf);
return AVERROR(ENOMEM);
+ }
ret = av_frame_copy_props(out_buf, buf);
if (ret < 0) {
av_frame_free(&out_buf);
diff --git a/libavfilter/vf_eq.c b/libavfilter/vf_eq.c
index e8b4a46195..2c4c7e4d54 100644
--- a/libavfilter/vf_eq.c
+++ b/libavfilter/vf_eq.c
@@ -259,8 +259,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
int i;
out = ff_get_video_buffer(outlink, inlink->w, inlink->h);
- if (!out)
+ if (!out) {
+ av_frame_free(&in);
return AVERROR(ENOMEM);
+ }
av_frame_copy_props(out, in);
desc = av_pix_fmt_desc_get(inlink->format);
diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c
index c0c5eb400f..8a47ed5be4 100644
--- a/libavfilter/vf_fftfilt.c
+++ b/libavfilter/vf_fftfilt.c
@@ -255,8 +255,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
int i, j, plane;
out = ff_get_video_buffer(outlink, inlink->w, inlink->h);
- if (!out)
+ if (!out) {
+ av_frame_free(&in);
return AVERROR(ENOMEM);
+ }
av_frame_copy_props(out, in);