When asetnsamples uses output samples < input samples, remaining samples build up in the fifo over time.
Fix this by marking the filter as ready again if there are enough samples.
Regression since
ef3babb2c70f564dc1634b3f29c6e35a2b2dc239
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
return ret;
if (ret > 0) {
- if ((!s->pad || (s->pad && frame->nb_samples == s->nb_out_samples)))
- return ff_filter_frame(outlink, frame);
+ if ((!s->pad || (s->pad && frame->nb_samples == s->nb_out_samples))) {
+ ret = ff_filter_frame(outlink, frame);
+ if (ff_framequeue_queued_samples(inlink) >= s->nb_out_samples)
+ ff_filter_set_ready(ctx, 100);
+ return ret;
+ }
pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples);
if (!pad_frame) {