...
|
...
|
@@ -180,10 +180,7 @@ static int request_frame(AVFilterLink *outlink)
|
180
|
180
|
/* flush the lavr delay buffer */
|
181
|
181
|
if (ret == AVERROR_EOF && s->avr) {
|
182
|
182
|
AVFrame *frame;
|
183
|
|
- int nb_samples = av_rescale_rnd(avresample_get_delay(s->avr),
|
184
|
|
- outlink->sample_rate,
|
185
|
|
- ctx->inputs[0]->sample_rate,
|
186
|
|
- AV_ROUND_UP);
|
|
183
|
+ int nb_samples = avresample_get_out_samples(s->avr, 0);
|
187
|
184
|
|
188
|
185
|
if (!nb_samples)
|
189
|
186
|
return ret;
|
...
|
...
|
@@ -219,9 +216,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
|
219
|
219
|
|
220
|
220
|
/* maximum possible samples lavr can output */
|
221
|
221
|
delay = avresample_get_delay(s->avr);
|
222
|
|
- nb_samples = av_rescale_rnd(in->nb_samples + delay,
|
223
|
|
- outlink->sample_rate, inlink->sample_rate,
|
224
|
|
- AV_ROUND_UP);
|
|
222
|
+ nb_samples = avresample_get_out_samples(s->avr, in->nb_samples);
|
225
|
223
|
|
226
|
224
|
out = ff_get_audio_buffer(outlink, nb_samples);
|
227
|
225
|
if (!out) {
|