summaryrefslogtreecommitdiff
path: root/libavresample/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavresample/utils.c')
-rw-r--r--libavresample/utils.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavresample/utils.c b/libavresample/utils.c
index 89a82b9dda..2d83372bb8 100644
--- a/libavresample/utils.c
+++ b/libavresample/utils.c
@@ -48,9 +48,8 @@ int avresample_open(AVAudioResampleContext *avr)
avr->resample_channels = FFMIN(avr->in_channels, avr->out_channels);
avr->downmix_needed = avr->in_channels > avr->out_channels;
avr->upmix_needed = avr->out_channels > avr->in_channels ||
- avr->am->matrix ||
- (avr->out_channels == avr->in_channels &&
- avr->in_channel_layout != avr->out_channel_layout);
+ (!avr->downmix_needed && (avr->am->matrix ||
+ avr->in_channel_layout != avr->out_channel_layout));
avr->mixing_needed = avr->downmix_needed || avr->upmix_needed;
/* set resampling parameters */