avconv: fix parsing of -force_key_frames option.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Mon, 30 Apr 2012 20:48:42 +0000 (22:48 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 5 Jul 2012 11:15:36 +0000 (13:15 +0200)
Currently it always exits with an error when more than
one position is specified.

CC: libav-stable@libav.org
avconv.c

index 9613567..6517c4b 100644 (file)
--- a/avconv.c
+++ b/avconv.c
@@ -2350,10 +2350,18 @@ static void parse_forced_key_frames(char *kf, OutputStream *ost,
         av_log(NULL, AV_LOG_FATAL, "Could not allocate forced key frames array.\n");
         exit_program(1);
     }
+
+    p = kf;
     for (i = 0; i < n; i++) {
-        p = i ? strchr(p, ',') + 1 : kf;
+        char *next = strchr(p, ',');
+
+        if (next)
+            *next++ = 0;
+
         t = parse_time_or_die("force_key_frames", p, 1);
         ost->forced_kf_pts[i] = av_rescale_q(t, AV_TIME_BASE_Q, avctx->time_base);
+
+        p = next;
     }
 }