It has no longer any effect.
outlink->time_base = ctx->inputs[0]->time_base;
outlink->channel_layout = ctx->inputs[0]->channel_layout;
outlink->channels = ctx->inputs[0]->channels;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
switch (outlink->format) {
case AV_SAMPLE_FMT_DBL: s->crossfade_samples = crossfade_samples_dbl; break;
asns->fifo = av_audio_fifo_alloc(outlink->format, outlink->channels, asns->nb_out_samples);
if (!asns->fifo)
return AVERROR(ENOMEM);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
return 0;
}
int sample_rate = (int)inlink->sample_rate;
int channels = av_get_channel_layout_nb_channels(inlink->channel_layout);
- ctx->outputs[0]->flags |= FF_LINK_FLAG_REQUEST_LOOP;
-
return yae_reset(atempo, format, sample_rate, channels);
}
if (err)
return err;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
s->compand = compand_delay;
return 0;
}
return 0;
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
static inline double fade(double prev, double next, int pos,
double *fade_factors[2])
{
{
.name = "default",
.type = AVMEDIA_TYPE_AUDIO,
- .config_props = config_output,
.request_frame = request_frame,
},
{ NULL }
return 0;
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
-
- return 0;
-}
-
static double compute_rms(SilenceRemoveContext *s, double sample)
{
double new_sum;
{
.name = "default",
.type = AVMEDIA_TYPE_AUDIO,
- .config_props = config_output,
.request_frame = request_frame,
},
{ NULL }
s->scale += s->window_func_lut[i] * s->window_func_lut[i];
}
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->frame_rate = av_make_q(inlink->sample_rate, s->win_size * (1.-s->overlap));
outlink->sample_aspect_ratio = (AVRational){1,1};
outlink->w = s->w;
int nb_channels = av_frame_get_channels(frame);
int ret = 0;
- link->flags |= FF_LINK_FLAG_REQUEST_LOOP;
/* Handle framing (min_samples, max_samples) */
while (insamples) {
if (!pbuf) {
DRAW_RECT(ebur128->graph);
DRAW_RECT(ebur128->gauge);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
-
return 0;
}
return AVERROR(ENOMEM);
}
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
-
#if CONFIG_SWRESAMPLE
if (ebur128->peak_mode & PEAK_MODE_TRUE_PEAKS) {
int ret;
}
}
}
-
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
return 0;
}
av_freep(&s->frames);
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
{
AVFilterContext *ctx = inlink->dst;
.name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.request_frame = request_frame,
- .config_props = config_output,
},
{ NULL }
};
.name = "default",
.type = AVMEDIA_TYPE_AUDIO,
.request_frame = areverse_request_frame,
- .config_props = config_output,
},
{ NULL }
};
return 0;
if (fs->eof)
return AVERROR_EOF;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
input = fs->in_request;
ret = ff_request_frame(ctx->inputs[input]);
if (ret == AVERROR_EOF) {
*/
int ff_filter_frame(AVFilterLink *link, AVFrame *frame);
-/**
- * Flags for AVFilterLink.flags.
- */
-enum {
-
- /**
- * Frame requests may need to loop in order to be fulfilled.
- * A filter must set this flags on an output link if it may return 0 in
- * request_frame() without filtering a frame.
- */
- FF_LINK_FLAG_REQUEST_LOOP = 1,
-
-};
-
/**
* Allocate a new filter context and return it.
*
return 0;
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
#define OFFSET(x) offsetof(TrimContext, x)
#define COMMON_OPTS \
{ "starti", "Timestamp of the first frame that " \
{
.name = "default",
.type = AVMEDIA_TYPE_VIDEO,
- .config_props = config_output,
},
{ NULL }
};
{
.name = "default",
.type = AVMEDIA_TYPE_AUDIO,
- .config_props = config_output,
},
{ NULL }
};
return 0;
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
static int filter_frame(AVFilterLink *inlink, AVFrame *buf)
{
AVFilterContext *ctx = inlink->dst;
.name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.request_frame = request_frame,
- .config_props = config_output,
},
{ NULL }
};
is_16bit = pix_desc->comp[0].depth == 16;
s->nb_planes = av_pix_fmt_count_planes(toplink->format);
- if (s->tblend)
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- else if ((ret = ff_dualinput_init(ctx, &s->dinput)) < 0)
+ if (!s->tblend)
+ if ((ret = ff_dualinput_init(ctx, &s->dinput)) < 0)
return ret;
for (plane = 0; plane < FF_ARRAY_ELEMS(s->params); plane++) {
fps = av_mul_q(fps, (AVRational){dm->cycle - 1, dm->cycle});
av_log(ctx, AV_LOG_VERBOSE, "FPS: %d/%d -> %d/%d\n",
inlink->frame_rate.num, inlink->frame_rate.den, fps.num, fps.den);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->time_base = inlink->time_base;
outlink->frame_rate = fps;
outlink->sample_aspect_ratio = inlink->sample_aspect_ratio;
av_log(ctx, AV_LOG_VERBOSE, "FPS: %d/%d -> %d/%d\n",
inlink->frame_rate.num, inlink->frame_rate.den, fps.num, fps.den);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->frame_rate = fps;
outlink->time_base = av_mul_q(inlink->time_base, s->pts);
av_log(ctx, AV_LOG_VERBOSE, "TB: %d/%d -> %d/%d\n",
const AVFilterLink *inlink =
ctx->inputs[fm->ppsrc ? INPUT_CLEANSRC : INPUT_MAIN];
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->time_base = inlink->time_base;
outlink->sample_aspect_ratio = inlink->sample_aspect_ratio;
outlink->frame_rate = inlink->frame_rate;
outlink->frame_rate = s->dest_frame_rate;
outlink->time_base = s->dest_time_base;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
ff_dlog(ctx,
"config_output() output time base:%u/%u (%f) w:%d h:%d\n",
FrameStepContext *framestep = ctx->priv;
AVFilterLink *inlink = ctx->inputs[0];
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->frame_rate =
av_div_q(inlink->frame_rate, (AVRational){framestep->frame_step, 1});
return ff_set_common_formats(ctx, fmts_list);
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
static av_cold int init(AVFilterContext *ctx)
{
IDETContext *idet = ctx->priv;
{
.name = "default",
.type = AVMEDIA_TYPE_VIDEO,
- .config_props = config_output,
.request_frame = request_frame
},
{ NULL }
// half framerate
outlink->time_base.num *= 2;
outlink->frame_rate.den *= 2;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
if (s->lowpass) {
{
outlink->w = outlink->h = 16;
outlink->sample_aspect_ratio = av_make_q(1, 1);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
return 0;
}
return 0;
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
static PullupBuffer *pullup_lock_buffer(PullupBuffer *b, int parity)
{
if (!b)
{
.name = "default",
.type = AVMEDIA_TYPE_VIDEO,
- .config_props = config_output,
},
{ NULL }
};
return 0;
}
-static int config_output(AVFilterLink *outlink)
-{
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
- return 0;
-}
-
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
{
AVFilterContext *ctx = inlink->dst;
.name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.request_frame = request_frame,
- .config_props = config_output,
},
{ NULL }
};
break;
case ALTERNATING_RL:
case ALTERNATING_LR:
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
fps.den *= 2;
tb.num *= 2;
break;
av_log(ctx, AV_LOG_VERBOSE, "FPS: %d/%d -> %d/%d\n",
inlink->frame_rate.num, inlink->frame_rate.den, fps.num, fps.den);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->frame_rate = fps;
outlink->time_base = av_mul_q(inlink->time_base, s->pts);
av_log(ctx, AV_LOG_VERBOSE, "TB: %d/%d -> %d/%d\n",
ff_draw_init(&tile->draw, inlink->format, 0);
ff_draw_color(&tile->draw, &tile->blank, tile->rgba_color);
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
-
return 0;
}
int i;
tinterlace->vsub = desc->log2_chroma_h;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
outlink->w = inlink->w;
outlink->h = tinterlace->mode == MODE_MERGE || tinterlace->mode == MODE_PAD ?
inlink->h*2 : inlink->h;
outlink->time_base.den = inlink->time_base.den * 2;
outlink->frame_rate.num = inlink->frame_rate.num * 2;
outlink->frame_rate.den = inlink->frame_rate.den;
- outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
return 0;
}