From ed1c83508ec920bfef773e3aa3ac1764a65826ec Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sun, 26 May 2013 19:13:41 +0000 Subject: [PATCH] lavfi/trim: remove request frame hack Signed-off-by: Paul B Mahol --- libavfilter/trim.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/libavfilter/trim.c b/libavfilter/trim.c index 34963ae2f2..384028d782 100644 --- a/libavfilter/trim.c +++ b/libavfilter/trim.c @@ -69,7 +69,6 @@ typedef struct TrimContext { int64_t next_pts; int eof; - int got_output; } TrimContext; static int init(AVFilterContext *ctx) @@ -104,22 +103,9 @@ static int config_input(AVFilterLink *inlink) return 0; } -static int request_frame(AVFilterLink *outlink) +static int config_output(AVFilterLink *outlink) { - AVFilterContext *ctx = outlink->src; - TrimContext *s = ctx->priv; - int ret; - - s->got_output = 0; - while (!s->got_output) { - if (s->eof) - return AVERROR_EOF; - - ret = ff_request_frame(ctx->inputs[0]); - if (ret < 0) - return ret; - } - + outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP; return 0; } @@ -182,7 +168,6 @@ static int trim_filter_frame(AVFilterLink *inlink, AVFrame *frame) } s->nb_frames++; - s->got_output = 1; return ff_filter_frame(ctx->outputs[0], frame); @@ -224,7 +209,7 @@ static const AVFilterPad trim_outputs[] = { { .name = "default", .type = AVMEDIA_TYPE_VIDEO, - .request_frame = request_frame, + .config_props = config_output, }, { NULL } }; @@ -346,7 +331,6 @@ static int atrim_filter_frame(AVFilterLink *inlink, AVFrame *frame) } else frame->nb_samples = end_sample; - s->got_output = 1; return ff_filter_frame(ctx->outputs[0], frame); drop: @@ -387,7 +371,7 @@ static const AVFilterPad atrim_outputs[] = { { .name = "default", .type = AVMEDIA_TYPE_AUDIO, - .request_frame = request_frame, + .config_props = config_output, }, { NULL } };