+ ret = process_work_frame(ctx, 0);
+ if (ret < 0)
+ return ret;
+ if (ret)
+ return ff_filter_frame(ctx->outputs[0], s->work);
+
+request:
+ ff_dlog(ctx, "request_frame() call source's request_frame()\n");
+ ret = ff_request_frame(ctx->inputs[0]);
+ if (ret < 0 && (ret != AVERROR_EOF)) {
+ ff_dlog(ctx, "request_frame() source's request_frame() returned error:%d\n", ret);
+ return ret;
+ } else if (ret == AVERROR_EOF) {
+ s->flush = 1;
+ }
+ ff_dlog(ctx, "request_frame() source's request_frame() returned:%d\n", ret);
+ return 0;