diff options
author | Nicolas George <nicolas.george@normalesup.org> | 2013-03-31 19:36:38 +0200 |
---|---|---|
committer | Nicolas George <nicolas.george@normalesup.org> | 2013-04-03 17:44:10 +0200 |
commit | d38c173dfb4bbee19ec341202c6c79bb0aa2cdad (patch) | |
tree | a25c4d18ef80687da5f5c2747596f3461f07da72 | |
parent | b570f24d7600ef4c8f05018c46bea6356927ba4d (diff) | |
download | ffmpeg-d38c173dfb4bbee19ec341202c6c79bb0aa2cdad.tar.gz |
lavfi/af_atempo: simplify request_frame loop.
-rw-r--r-- | libavfilter/af_atempo.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c index 9547969f0a..af49b0b771 100644 --- a/libavfilter/af_atempo.c +++ b/libavfilter/af_atempo.c @@ -139,7 +139,6 @@ typedef struct { FFTSample *correlation; // for managing AVFilterPad.request_frame and AVFilterPad.filter_frame - int request_fulfilled; AVFrame *dst_buffer; uint8_t *dst; uint8_t *dst_end; @@ -181,7 +180,6 @@ static void yae_clear(ATempoContext *atempo) atempo->dst = NULL; atempo->dst_end = NULL; - atempo->request_fulfilled = 0; atempo->nsamples_in = 0; atempo->nsamples_out = 0; } @@ -1017,6 +1015,8 @@ static int config_props(AVFilterLink *inlink) 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); } @@ -1074,7 +1074,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *src_buffer) ret = push_samples(atempo, outlink, n_out); if (ret < 0) goto end; - atempo->request_fulfilled = 1; } } @@ -1090,11 +1089,7 @@ static int request_frame(AVFilterLink *outlink) ATempoContext *atempo = ctx->priv; int ret; - atempo->request_fulfilled = 0; - do { - ret = ff_request_frame(ctx->inputs[0]); - } - while (!atempo->request_fulfilled && ret >= 0); + ret = ff_request_frame(ctx->inputs[0]); if (ret == AVERROR_EOF) { // flush the filter: |