| @@ -362,24 +362,25 @@ static int channelmap_config_input(AVFilterLink *inlink) | |||||
| char layout_name[256]; | char layout_name[256]; | ||||
| for (i = 0; i < s->nch; i++) { | for (i = 0; i < s->nch; i++) { | ||||
| struct ChannelMap *m = &s->map[i]; | |||||
| if (s->mode == MAP_PAIR_STR_INT || s->mode == MAP_PAIR_STR_STR) { | if (s->mode == MAP_PAIR_STR_INT || s->mode == MAP_PAIR_STR_STR) { | ||||
| s->map[i].in_channel_idx = av_get_channel_layout_channel_index( | |||||
| inlink->channel_layout, s->map[i].in_channel); | |||||
| m->in_channel_idx = av_get_channel_layout_channel_index( | |||||
| inlink->channel_layout, m->in_channel); | |||||
| } | } | ||||
| if (s->map[i].in_channel_idx < 0 || | |||||
| s->map[i].in_channel_idx >= nb_channels) { | |||||
| if (m->in_channel_idx < 0 || m->in_channel_idx >= nb_channels) { | |||||
| av_get_channel_layout_string(layout_name, sizeof(layout_name), | av_get_channel_layout_string(layout_name, sizeof(layout_name), | ||||
| 0, inlink->channel_layout); | 0, inlink->channel_layout); | ||||
| if (s->map[i].in_channel) { | |||||
| channel_name = av_get_channel_name(s->map[i].in_channel); | |||||
| if (m->in_channel) { | |||||
| channel_name = av_get_channel_name(m->in_channel); | |||||
| av_log(ctx, AV_LOG_ERROR, | av_log(ctx, AV_LOG_ERROR, | ||||
| "input channel '%s' not available from input layout '%s'\n", | "input channel '%s' not available from input layout '%s'\n", | ||||
| channel_name, layout_name); | channel_name, layout_name); | ||||
| } else { | } else { | ||||
| av_log(ctx, AV_LOG_ERROR, | av_log(ctx, AV_LOG_ERROR, | ||||
| "input channel #%d not available from input layout '%s'\n", | "input channel #%d not available from input layout '%s'\n", | ||||
| s->map[i].in_channel_idx, layout_name); | |||||
| m->in_channel_idx, layout_name); | |||||
| } | } | ||||
| err = AVERROR(EINVAL); | err = AVERROR(EINVAL); | ||||
| } | } | ||||