]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_channelmap.c
af_channelmap: Set the frame channel layout
[ffmpeg] / libavfilter / af_channelmap.c
index 34d2457efdbbb4eecbca30f0babbcc6b83f70b0c..3035405f5dda26b69c32a4b34ddb9480c3fa863c 100644 (file)
@@ -188,7 +188,7 @@ static av_cold int channelmap_init(AVFilterContext *ctx)
             s->map[i].out_channel_idx = i;
             break;
         case MAP_ONE_STR:
-            if (!get_channel(&mapping, &in_ch, separator)) {
+            if (get_channel(&mapping, &in_ch, separator) < 0) {
                 av_log(ctx, AV_LOG_ERROR, err);
                 return AVERROR(EINVAL);
             }
@@ -342,6 +342,8 @@ static int channelmap_filter_frame(AVFilterLink *inlink, AVFrame *buf)
         memcpy(buf->data, buf->extended_data,
            FFMIN(FF_ARRAY_ELEMS(buf->data), nch_out) * sizeof(buf->data[0]));
 
+    buf->channel_layout = outlink->channel_layout;
+
     return ff_filter_frame(outlink, buf);
 }
 
@@ -400,7 +402,7 @@ static const AVFilterPad avfilter_af_channelmap_outputs[] = {
     { NULL }
 };
 
-AVFilter avfilter_af_channelmap = {
+AVFilter ff_af_channelmap = {
     .name          = "channelmap",
     .description   = NULL_IF_CONFIG_SMALL("Remap audio channels."),
     .init          = channelmap_init,