AVFilterFormats *formats = NULL;
AVFilterChannelLayouts *layout = NULL;
- avfilter_add_format(&formats, AV_SAMPLE_FMT_S16);
- avfilter_set_common_sample_formats(ctx, formats);
+ ff_add_format(&formats, AV_SAMPLE_FMT_S16);
+ ff_set_common_formats(ctx, formats);
ff_add_channel_layout(&layout, AV_CH_LAYOUT_STEREO);
ff_set_common_channel_layouts(ctx, layout);
- ff_set_common_samplerates(ctx, avfilter_make_format_list(sample_rates));
+ ff_set_common_samplerates(ctx, ff_make_format_list(sample_rates));
return 0;
}
return out;
}
-static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
+static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples)
{
AVFilterLink *outlink = inlink->dst->outputs[0];
int16_t *taps, *endin, *in, *out;
AVFilterBufferRef *outsamples =
ff_get_audio_buffer(inlink, AV_PERM_WRITE,
insamples->audio->nb_samples);
+ int ret;
+
avfilter_copy_buffer_ref_props(outsamples, insamples);
taps = ((EarwaxContext *)inlink->dst->priv)->taps;
// save part of input for next round
memcpy(taps, endin, NUMTAPS * sizeof(*taps));
- ff_filter_samples(outlink, outsamples);
+ ret = ff_filter_samples(outlink, outsamples);
avfilter_unref_buffer(insamples);
+ return ret;
}
AVFilter avfilter_af_earwax = {