+static int activate(AVFilterContext *ctx)
+{
+ AVFilterLink *inlink = ctx->inputs[0];
+ AVFilterLink *outlink = ctx->outputs[0];
+ DynamicAudioNormalizerContext *s = ctx->priv;
+ AVFrame *in = NULL;
+ int ret = 0, status;
+ int64_t pts;
+
+ FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink);
+
+ if (!s->eof) {
+ ret = ff_inlink_consume_samples(inlink, s->frame_len, s->frame_len, &in);
+ if (ret < 0)
+ return ret;
+ if (ret > 0) {
+ ret = filter_frame(inlink, in);
+ if (ret <= 0)
+ return ret;
+ }
+
+ if (ff_inlink_queued_samples(inlink) >= s->frame_len) {
+ ff_filter_set_ready(ctx, 10);
+ return 0;