You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avfilter/af_asetnsamples: fix excessive frames queueing at start
This commit is contained in:
@@ -66,12 +66,8 @@ static int activate(AVFilterContext *ctx)
|
|||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (ret > 0) {
|
if (ret > 0) {
|
||||||
if (!s->pad || frame->nb_samples == s->nb_out_samples) {
|
if (!s->pad || frame->nb_samples == s->nb_out_samples)
|
||||||
ret = ff_filter_frame(outlink, frame);
|
return 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);
|
pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples);
|
||||||
if (!pad_frame) {
|
if (!pad_frame) {
|
||||||
@@ -96,6 +92,10 @@ static int activate(AVFilterContext *ctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
FF_FILTER_FORWARD_STATUS(inlink, outlink);
|
FF_FILTER_FORWARD_STATUS(inlink, outlink);
|
||||||
|
if (ff_inlink_queued_samples(inlink) >= s->nb_out_samples) {
|
||||||
|
ff_filter_set_ready(ctx, 100);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
FF_FILTER_FORWARD_WANTED(outlink, inlink);
|
FF_FILTER_FORWARD_WANTED(outlink, inlink);
|
||||||
|
|
||||||
return FFERROR_NOT_READY;
|
return FFERROR_NOT_READY;
|
||||||
|
Reference in New Issue
Block a user