On 07/05/2012 03:57 PM, Anton Khirnov wrote: > Input on/off state can change in request_samples(), which can result in > a state where only the first input is active. get_available_samples() > will then return 0, and request_frame() will fail with EAGAIN even > though there is data on the single active input. > > Take this into account and check the number of active inputs again after > calling request_samples(). > --- > libavfilter/af_amix.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c > index deeaa03..439231f 100644 > --- a/libavfilter/af_amix.c > +++ b/libavfilter/af_amix.c > @@ -437,7 +437,9 @@ static int request_frame(AVFilterLink *outlink) > ret = calc_active_inputs(s); > if (ret < 0) > return ret; > + } > > + if (s->active_inputs > 1) { > available_samples = get_available_samples(s); > if (!available_samples) > return AVERROR(EAGAIN);
yeah, LGTM. -Justin _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel