From 88679b4b75052baaabd1fbbc3186ade1b0998344 Mon Sep 17 00:00:00 2001 From: jmarshallnz Date: Sun, 23 Mar 2014 11:08:24 +1300 Subject: [PATCH] Merge pull request #4442 from FernetMenta/channels AE: fix CAEChannelInfo::ResolveChannels, it returned duplicate channels ... --- xbmc/cores/AudioEngine/Utils/AEChannelInfo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xbmc/cores/AudioEngine/Utils/AEChannelInfo.cpp b/xbmc/cores/AudioEngine/Utils/AEChannelInfo.cpp index a051cf5f88605..05a263ef97271 100644 --- a/xbmc/cores/AudioEngine/Utils/AEChannelInfo.cpp +++ b/xbmc/cores/AudioEngine/Utils/AEChannelInfo.cpp @@ -102,13 +102,13 @@ void CAEChannelInfo::ResolveChannels(const CAEChannelInfo& rhs) } /* we need to ensure we end up with rear or side channels for downmix to work */ - if (srcHasSL && !dstHasSL && dstHasRL) + if (srcHasSL && !dstHasSL && dstHasRL && !newInfo.HasChannel(AE_CH_BL)) newInfo += AE_CH_BL; - if (srcHasSR && !dstHasSR && dstHasRR) + if (srcHasSR && !dstHasSR && dstHasRR && !newInfo.HasChannel(AE_CH_BR)) newInfo += AE_CH_BR; - if (srcHasRL && !dstHasRL && dstHasSL) + if (srcHasRL && !dstHasRL && dstHasSL && !newInfo.HasChannel(AE_CH_SL)) newInfo += AE_CH_SL; - if (srcHasRR && !dstHasRR && dstHasSR) + if (srcHasRR && !dstHasRR && dstHasSR && !newInfo.HasChannel(AE_CH_SR)) newInfo += AE_CH_SR; // mix back center if not available in destination layout