From 7e4b0d377f275676105191b49eb3f096c6d60098 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Tue, 14 Jan 2020 16:46:50 +0100 Subject: avfilter/avf_showspectrum: check if frame clone is set --- libavfilter/avf_showspectrum.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavfilter/avf_showspectrum.c') diff --git a/libavfilter/avf_showspectrum.c b/libavfilter/avf_showspectrum.c index 3a3ef7eb31..a4dd7b7879 100644 --- a/libavfilter/avf_showspectrum.c +++ b/libavfilter/avf_showspectrum.c @@ -1365,6 +1365,8 @@ static int plot_spectrum_column(AVFilterLink *inlink, AVFrame *insamples) s->xpos = 0; if (!s->single_pic && (s->sliding != FULLFRAME || s->xpos == 0)) { if (s->old_pts < outpicref->pts) { + AVFrame *clone; + if (s->legend) { char *units = get_time(ctx, insamples->pts /(float)inlink->sample_rate, x); if (!units) @@ -1393,7 +1395,10 @@ static int plot_spectrum_column(AVFilterLink *inlink, AVFrame *insamples) av_free(units); } s->old_pts = outpicref->pts; - ret = ff_filter_frame(outlink, av_frame_clone(s->outpicref)); + clone = av_frame_clone(s->outpicref); + if (!clone) + return AVERROR(ENOMEM); + ret = ff_filter_frame(outlink, clone); if (ret < 0) return ret; return 0; -- cgit v1.2.3