summaryrefslogtreecommitdiff
path: root/libavfilter/avf_showspectrum.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2020-01-14 16:46:50 +0100
committerPaul B Mahol <onemda@gmail.com>2020-01-14 16:52:08 +0100
commit7e4b0d377f275676105191b49eb3f096c6d60098 (patch)
tree23a2effcc6949f599dc2145606b005bad6c6ec29 /libavfilter/avf_showspectrum.c
parentcc752233fb83df53c55fc9b3d12b9ffc6df124d9 (diff)
avfilter/avf_showspectrum: check if frame clone is set
Diffstat (limited to 'libavfilter/avf_showspectrum.c')
-rw-r--r--libavfilter/avf_showspectrum.c7
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;