[FFmpeg-cvslog] lavfi: amix: check active input count before calling request_samples
Justin Ruggles
git at videolan.org
Thu May 31 21:42:38 CEST 2012
ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Wed May 30 08:48:26 2012 -0400| [c7bd556d482b3bb25bb6dd3bdf3542622d7cd482] | committer: Justin Ruggles
lavfi: amix: check active input count before calling request_samples
fixes use of the amix filter with only 1 input
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c7bd556d482b3bb25bb6dd3bdf3542622d7cd482
---
libavfilter/af_amix.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c
index 3399b7c..d4af9a4 100644
--- a/libavfilter/af_amix.c
+++ b/libavfilter/af_amix.c
@@ -389,6 +389,10 @@ static int request_frame(AVFilterLink *outlink)
int ret;
int wanted_samples, available_samples;
+ ret = calc_active_inputs(s);
+ if (ret < 0)
+ return ret;
+
if (s->input_state[0] == INPUT_OFF) {
ret = request_samples(ctx, 1);
if (ret < 0)
@@ -419,15 +423,16 @@ static int request_frame(AVFilterLink *outlink)
av_assert0(s->frame_list->nb_frames > 0);
wanted_samples = frame_list_next_frame_size(s->frame_list);
- ret = request_samples(ctx, wanted_samples);
- if (ret < 0)
- return ret;
-
- ret = calc_active_inputs(s);
- if (ret < 0)
- return ret;
if (s->active_inputs > 1) {
+ ret = request_samples(ctx, wanted_samples);
+ if (ret < 0)
+ return ret;
+
+ ret = calc_active_inputs(s);
+ if (ret < 0)
+ return ret;
+
available_samples = get_available_samples(s);
if (!available_samples)
return 0;
More information about the ffmpeg-cvslog
mailing list