diff options
-rw-r--r-- | alc/alu.cpp | 3 |
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); |