提交 ad0fe2f4 编写于 作者: L Luca Barbato

af_resample: Use avresample_get_out_samples

上级 b2d45654
......@@ -180,10 +180,7 @@ static int request_frame(AVFilterLink *outlink)
/* flush the lavr delay buffer */
if (ret == AVERROR_EOF && s->avr) {
AVFrame *frame;
int nb_samples = av_rescale_rnd(avresample_get_delay(s->avr),
outlink->sample_rate,
ctx->inputs[0]->sample_rate,
AV_ROUND_UP);
int nb_samples = avresample_get_out_samples(s->avr, 0);
if (!nb_samples)
return ret;
......@@ -219,9 +216,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
/* maximum possible samples lavr can output */
delay = avresample_get_delay(s->avr);
nb_samples = av_rescale_rnd(in->nb_samples + delay,
outlink->sample_rate, inlink->sample_rate,
AV_ROUND_UP);
nb_samples = avresample_get_out_samples(s->avr, in->nb_samples);
out = ff_get_audio_buffer(outlink, nb_samples);
if (!out) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册