summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-03-10 02:14:51 +0100
committerwm4 <wm4@nowhere>2014-03-10 02:14:51 +0100
commitb0b0e6957089b2031eba60bcfdb28eaf6b59012d (patch)
tree365c041e98a2b2a1b981b2285889d5d7b8e8ee19 /player
parent249789c256ddffb6fc6eaf628b2653c195dcdac8 (diff)
downloadmpv-b0b0e6957089b2031eba60bcfdb28eaf6b59012d.tar.bz2
mpv-b0b0e6957089b2031eba60bcfdb28eaf6b59012d.tar.xz
audio: don't downmix when doing digital passthrough
This obviously doesn't work. It wasn't much of a problem in the past because most passthrough formats use 2 channels, which is also the default for downmix.
Diffstat (limited to 'player')
-rw-r--r--player/audio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/player/audio.c b/player/audio.c
index bbe4174890..28a110eba8 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -143,7 +143,8 @@ void reinit_audio_chain(struct MPContext *mpctx)
ao_format = out_format.format;
ao_channels = out_format.channels;
} else {
- ao_channels = opts->audio_output_channels; // automatic downmix
+ if (!AF_FORMAT_IS_SPECIAL(in_format.format))
+ ao_channels = opts->audio_output_channels; // automatic downmix
}
// Determine what the filter chain outputs. build_afilter_chain() also