X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_asetnsamples.c;h=e05bb80e7a13fec76039ff28a12b162a3c356c8f;hb=a04ad248a05e7b613abe09b3bb067f555108d794;hp=c60ce3063fa8c6e731dfcc20ceb0082df8799e10;hpb=ebdc5c419aef0d9eed8c1ec57b30238194c1db0a;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),