Browse Source

lavfi/trim: remove request frame hack

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n2.0
Paul B Mahol 12 years ago
parent
commit
ed1c83508e
1 changed files with 4 additions and 20 deletions
  1. +4
    -20
      libavfilter/trim.c

+ 4
- 20
libavfilter/trim.c 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 }
};


Loading…
Cancel
Save