]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/avf_showspectrum: check if frame clone is set
authorPaul B Mahol <onemda@gmail.com>
Tue, 14 Jan 2020 15:46:50 +0000 (16:46 +0100)
committerPaul B Mahol <onemda@gmail.com>
Tue, 14 Jan 2020 15:52:08 +0000 (16:52 +0100)
libavfilter/avf_showspectrum.c

index 3a3ef7eb31865d940f45eb4e100819801d7d23b0..a4dd7b7879b15979ba0c56d1abd817c875df9001 100644 (file)
@@ -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;