]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_pan.c
Merge commit '0a75d1da23b8659ec49391469bb592da12760077'
[ffmpeg] / libavfilter / af_pan.c
index 753522b76e802eb9c20279da784da0e783210dc2..80a912e3ae89aa3a6716784500b520d5008a8030 100644 (file)
@@ -60,7 +60,7 @@ static int parse_channel_name(char **arg, int *rchannel, int *rnamed)
     int64_t layout, layout0;
 
     /* try to parse a channel name, e.g. "FL" */
-    if (sscanf(*arg, " %7[A-Z] %n", buf, &len)) {
+    if (sscanf(*arg, "%7[A-Z]%n", buf, &len)) {
         layout0 = layout = av_get_channel_layout(buf);
         /* channel_id <- first set bit in layout */
         for (i = 32; i > 0; i >>= 1) {
@@ -78,7 +78,7 @@ static int parse_channel_name(char **arg, int *rchannel, int *rnamed)
         return 0;
     }
     /* try to parse a channel number, e.g. "c2" */
-    if (sscanf(*arg, " c%d %n", &channel_id, &len) &&
+    if (sscanf(*arg, "c%d%n", &channel_id, &len) &&
         channel_id >= 0 && channel_id < MAX_CHANNELS) {
         *rchannel = channel_id;
         *rnamed = 0;
@@ -143,6 +143,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args0)
                    "Invalid out channel name \"%.8s\"\n", arg0);
             return AVERROR(EINVAL);
         }
+        skip_spaces(&arg);
         if (*arg == '=') {
             arg++;
         } else if (*arg == '<') {
@@ -156,7 +157,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args0)
         /* gains */
         while (1) {
             gain = 1;
-            if (sscanf(arg, " %lf %n* %n", &gain, &len, &len))
+            if (sscanf(arg, "%lf%n *%n", &gain, &len, &len))
                 arg += len;
             if (parse_channel_name(&arg, &in_ch_id, &named)){
                 av_log(ctx, AV_LOG_ERROR,
@@ -170,6 +171,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args0)
                 return AVERROR(EINVAL);
             }
             pan->gain[out_ch_id][in_ch_id] = gain;
+            skip_spaces(&arg);
             if (!*arg)
                 break;
             if (*arg != '+') {
@@ -177,7 +179,6 @@ static av_cold int init(AVFilterContext *ctx, const char *args0)
                 return AVERROR(EINVAL);
             }
             arg++;
-            skip_spaces(&arg);
         }
     }
     pan->need_renumber = !!nb_in_channels[1];