| @@ -1178,10 +1178,10 @@ error: | |||||
| return AVERROR_PATCHWELCOME; | return AVERROR_PATCHWELCOME; | ||||
| } | } | ||||
| static int samples_ready(AVFilterLink *link) | |||||
| static int samples_ready(AVFilterLink *link, unsigned min) | |||||
| { | { | ||||
| return ff_framequeue_queued_frames(&link->fifo) && | return ff_framequeue_queued_frames(&link->fifo) && | ||||
| (ff_framequeue_queued_samples(&link->fifo) >= link->min_samples || | |||||
| (ff_framequeue_queued_samples(&link->fifo) >= min || | |||||
| link->status_in); | link->status_in); | ||||
| } | } | ||||
| @@ -1194,7 +1194,7 @@ static int take_samples(AVFilterLink *link, unsigned min, unsigned max, | |||||
| /* Note: this function relies on no format changes and must only be | /* Note: this function relies on no format changes and must only be | ||||
| called with enough samples. */ | called with enough samples. */ | ||||
| av_assert1(samples_ready(link)); | |||||
| av_assert1(samples_ready(link, link->min_samples)); | |||||
| frame0 = frame = ff_framequeue_peek(&link->fifo, 0); | frame0 = frame = ff_framequeue_peek(&link->fifo, 0); | ||||
| if (frame->nb_samples >= min && frame->nb_samples < max) { | if (frame->nb_samples >= min && frame->nb_samples < max) { | ||||
| *rframe = ff_framequeue_take(&link->fifo); | *rframe = ff_framequeue_take(&link->fifo); | ||||
| @@ -1321,7 +1321,7 @@ static int ff_filter_activate_default(AVFilterContext *filter) | |||||
| unsigned i; | unsigned i; | ||||
| for (i = 0; i < filter->nb_inputs; i++) { | for (i = 0; i < filter->nb_inputs; i++) { | ||||
| if (samples_ready(filter->inputs[i])) { | |||||
| if (samples_ready(filter->inputs[i], filter->inputs[i]->min_samples)) { | |||||
| return ff_filter_frame_to_filter(filter->inputs[i]); | return ff_filter_frame_to_filter(filter->inputs[i]); | ||||
| } | } | ||||
| } | } | ||||