diff --git a/libavcodec/resample.c b/libavcodec/resample.c index fce6272e78..ba8ce8910c 100644 --- a/libavcodec/resample.c +++ b/libavcodec/resample.c @@ -162,9 +162,10 @@ ReSampleContext *av_audio_resample_init(int output_channels, int input_channels, MAX_CHANNELS); return NULL; } - if (output_channels > 2 && - !(output_channels == 6 && input_channels == 2) && - output_channels != input_channels) { + if (output_channels != input_channels && + (input_channels > 2 || + output_channels > 2 && + !(output_channels == 6 && input_channels == 2))) { av_log(NULL, AV_LOG_ERROR, "Resampling output channel count must be 1 or 2 for mono input; 1, 2 or 6 for stereo input; or N for N channel input.\n"); return NULL;