X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_asetnsamples.c;h=e05bb80e7a13fec76039ff28a12b162a3c356c8f;hb=bd96c54fe4819b3ca9a975e2083d67f4443c559b;hp=c60ce3063fa8c6e731dfcc20ceb0082df8799e10;hpb=4f9a8d3fe2f9485ee08848d336ee96f15ec0e7e6;p=ffmpeg diff --git a/libavfilter/af_asetnsamples.c b/libavfilter/af_asetnsamples.c index c60ce3063fa..e05bb80e7a1 100644 --- a/libavfilter/af_asetnsamples.c +++ b/libavfilter/af_asetnsamples.c @@ -67,8 +67,12 @@ static int activate(AVFilterContext *ctx) 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 || frame->nb_samples == s->nb_out_samples) { + ret = ff_filter_frame(outlink, frame); + if (ff_inlink_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) { @@ -114,7 +118,7 @@ static const AVFilterPad asetnsamples_outputs[] = { { NULL } }; -AVFilter ff_af_asetnsamples = { +const AVFilter ff_af_asetnsamples = { .name = "asetnsamples", .description = NULL_IF_CONFIG_SMALL("Set the number of samples for each output audio frames."), .priv_size = sizeof(ASNSContext),