diff options
author | Paul B Mahol <onemda@gmail.com> | 2020-01-14 16:46:50 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2020-01-14 16:52:08 +0100 |
commit | 7e4b0d377f275676105191b49eb3f096c6d60098 (patch) | |
tree | 23a2effcc6949f599dc2145606b005bad6c6ec29 /libavfilter/avf_showspectrum.c | |
parent | cc752233fb83df53c55fc9b3d12b9ffc6df124d9 (diff) | |
download | ffmpeg-7e4b0d377f275676105191b49eb3f096c6d60098.tar.gz |
avfilter/avf_showspectrum: check if frame clone is set
Diffstat (limited to 'libavfilter/avf_showspectrum.c')
-rw-r--r-- | libavfilter/avf_showspectrum.c | 7 |
1 files changed, 6 insertions, 1 deletions
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; |