-static int filter_frame_phase(AVFilterLink *inlink, AVFrame *phase)
-{
- AVFilterContext *ctx = inlink->dst;
- SpectrumSynthContext *s = ctx->priv;
+ for (i = 0; i < 2; i++) {
+ if (*staging[i])
+ continue;
+ ret = ff_inlink_consume_frame(ctx->inputs[i], staging[i]);
+ if (ret < 0)
+ return ret;
+ if (ret) {
+ ff_filter_set_ready(ctx, 10);
+ return try_push_frames(ctx);
+ }
+ }
+
+ for (i = 0; i < 2; i++) {
+ if (ff_inlink_acknowledge_status(ctx->inputs[i], &ret, &pts)) {
+ ff_outlink_set_status(ctx->outputs[0], ret, pts);
+ ff_inlink_set_status(ctx->inputs[1 - i], ret);
+ return 0;
+ }
+ }
+
+ if (ff_outlink_frame_wanted(ctx->outputs[0])) {
+ for (i = 0; i < 2; i++) {
+ if (!*staging[i])
+ ff_inlink_request_frame(ctx->inputs[i]);
+ }
+ }