- nb_samples = FFMIN(s->input_frame[0]->nb_samples,
- s->input_frame[1]->nb_samples);
+ out = ff_get_audio_buffer(outlink, nb_samples);
+ if (!out)
+ return AVERROR(ENOMEM);
+ for (i = 0; i < 2; i++) {
+ in[i] = ff_get_audio_buffer(ctx->inputs[i], nb_samples);
+ if (!in[i]) {
+ av_frame_free(&in[0]);
+ av_frame_free(&in[1]);
+ av_frame_free(&out);
+ return AVERROR(ENOMEM);
+ }
+ av_audio_fifo_read(s->fifo[i], (void **)in[i]->data, nb_samples);
+ }