From 29e0879b29d11e76b60392b9bcfa238224bde26d Mon Sep 17 00:00:00 2001
From: Paul B Mahol <onemda@gmail.com>
Date: Sun, 3 Jun 2018 18:50:04 +0200
Subject: [PATCH] avfilter/f_drawgraph: fix drawing of first point for
 non-first metadata key

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavfilter/f_drawgraph.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libavfilter/f_drawgraph.c b/libavfilter/f_drawgraph.c
index 8be9b9f95a5..f49d5b80220 100644
--- a/libavfilter/f_drawgraph.c
+++ b/libavfilter/f_drawgraph.c
@@ -43,7 +43,7 @@ typedef struct DrawGraphContext {
     AVFrame       *out;
     int           x;
     int           prev_y[4];
-    int           first;
+    int           first[4];
     float         *values[4];
     int           values_size[4];
     int           nb_values;
@@ -102,7 +102,7 @@ static av_cold int init(AVFilterContext *ctx)
         }
     }
 
-    s->first = 1;
+    s->first[0] = s->first[1] = s->first[2] = s->first[3] = 1;
 
     if (s->slide == 4) {
         s->values[0] = av_fast_realloc(NULL, &s->values_size[0], 2000);
@@ -282,8 +282,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
             draw_dot(fg, x, y, out);
             break;
         case 2:
-            if (s->first) {
-                s->first = 0;
+            if (s->first[i]) {
+                s->first[i] = 0;
                 s->prev_y[i] = y;
             }
 
@@ -366,8 +366,8 @@ static int request_frame(AVFilterLink *outlink)
                     draw_dot(fg, x, y, out);
                     break;
                 case 2:
-                    if (s->first) {
-                        s->first = 0;
+                    if (s->first[i]) {
+                        s->first[i] = 0;
                         s->prev_y[i] = y;
                     }
 
-- 
GitLab