p = NULL;
if (parse_channel_name(s, s->nb_irs, &arg, &out_ch_id, buf)) {
- av_log(ctx, AV_LOG_WARNING, "Failed to parse \'%s\' as channel name.\n", buf);
+ av_log(ctx, AV_LOG_WARNING, "Failed to parse \'%s\' as channel name.\n", arg);
continue;
}
s->mapping[s->nb_irs] = out_ch_id;
if ((ret = check_ir(ctx->inputs[i], i)) < 0)
return ret;
- if (!s->in[i].eof) {
if (ff_outlink_get_status(ctx->inputs[i]) == AVERROR_EOF)
s->in[i].eof = 1;
- }
}
for (i = 1; i < s->nb_inputs; i++) {
if (!layouts)
return AVERROR(ENOMEM);
- ret = ff_channel_layouts_ref(layouts, &ctx->inputs[0]->out_channel_layouts);
+ ret = ff_channel_layouts_ref(layouts, &ctx->inputs[0]->outcfg.channel_layouts);
if (ret)
return ret;
ret = ff_add_channel_layout(&stereo_layout, AV_CH_LAYOUT_STEREO);
+ if (ret)
+ return ret;
+ ret = ff_channel_layouts_ref(stereo_layout, &ctx->outputs[0]->incfg.channel_layouts);
if (ret)
return ret;
if (s->hrir_fmt == HRIR_MULTI) {
hrir_layouts = ff_all_channel_counts();
if (!hrir_layouts)
- ret = AVERROR(ENOMEM);
- ret = ff_channel_layouts_ref(hrir_layouts, &ctx->inputs[1]->out_channel_layouts);
+ return AVERROR(ENOMEM);
+ ret = ff_channel_layouts_ref(hrir_layouts, &ctx->inputs[1]->outcfg.channel_layouts);
if (ret)
return ret;
} else {
for (i = 1; i < s->nb_inputs; i++) {
- ret = ff_channel_layouts_ref(stereo_layout, &ctx->inputs[i]->out_channel_layouts);
+ ret = ff_channel_layouts_ref(stereo_layout, &ctx->inputs[i]->outcfg.channel_layouts);
if (ret)
return ret;
}
}
- ret = ff_channel_layouts_ref(stereo_layout, &ctx->outputs[0]->in_channel_layouts);
- if (ret)
- return ret;
-
formats = ff_all_samplerates();
if (!formats)
return AVERROR(ENOMEM);
static av_cold void uninit(AVFilterContext *ctx)
{
HeadphoneContext *s = ctx->priv;
- int i;
av_fft_end(s->ifft[0]);
av_fft_end(s->ifft[1]);
av_freep(&s->data_hrtf[1]);
av_freep(&s->fdsp);
- for (i = 0; i < s->nb_inputs; i++) {
- if (ctx->input_pads && i)
- av_freep(&ctx->input_pads[i].name);
- }
av_freep(&s->in);
+ for (unsigned i = 1; i < ctx->nb_inputs; i++)
+ av_freep(&ctx->input_pads[i].name);
}
#define OFFSET(x) offsetof(HeadphoneContext, x)