1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-08-02 01:09:59 +02:00

lavfi/trim: remove request frame hack

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2013-05-26 19:13:41 +00:00
parent 4f8e4b8a54
commit ed1c83508e

View File

@ -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 }
};