aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--alc/alu.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/alc/alu.cpp b/alc/alu.cpp
index adc6d435..227ab575 100644
--- a/alc/alu.cpp
+++ b/alc/alu.cpp
@@ -1576,7 +1576,8 @@ void CalcSourceParams(ALvoice *voice, ALCcontext *context, bool force)
AtomicReplaceHead(context->mFreeVoiceProps, props);
}
- if(voice->mProps.DirectChannels != DirectMode::Off
+ if((voice->mProps.DirectChannels != DirectMode::Off && voice->mFmtChannels != FmtMono
+ && voice->mFmtChannels != FmtBFormat2D && voice->mFmtChannels != FmtBFormat3D)
|| voice->mProps.mSpatializeMode == SpatializeOff
|| (voice->mProps.mSpatializeMode == SpatializeAuto && voice->mFmtChannels != FmtMono))
CalcNonAttnSourceParams(voice, &voice->mProps, context);