avfilter/f_drawgraph: fix drawing of first point for non-first metadata key
authorPaul B Mahol <onemda@gmail.com>
Sun, 3 Jun 2018 16:50:04 +0000 (18:50 +0200)
committerPaul B Mahol <onemda@gmail.com>
Sun, 3 Jun 2018 16:50:04 +0000 (18:50 +0200)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/f_drawgraph.c

index 8be9b9f..f49d5b8 100644 (file)
@@ -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;
                     }