aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMemphiz <memphis@machzwo.de>2014-06-02 11:04:02 +0200
committerMemphiz <memphis@machzwo.de>2014-06-05 22:24:39 +0200
commitae82259d67f66ba3597a8dfa8dd534f521c14674 (patch)
tree10e330505c0bf52ce5acd70f8b26f31fcb13ecc0
parentcb06d26cf7c90cad0a251ede6c9ae90985601c05 (diff)
[AE/osxsink] - allow mapping of more then CA_MAX_CHANNELS if a channel map
was fetched - takes care of #15261
-rw-r--r--xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp
index 6e1a08e4ad..da3aa979bc 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp
@@ -192,6 +192,13 @@ static void GetAEChannelMap(CCoreAudioDevice &device, CAEChannelInfo &channelMap
// the number of channels to be added to the outgoing channelmap
// this is CA_MAX_CHANNELS at max and might be lower for some output devices (channelsPerFrame)
unsigned int numChannelsToMap = std::min((unsigned int)CA_MAX_CHANNELS, (unsigned int)channelsPerFrame);
+
+ // if there was a map fetched we force the number of
+ // channels to map to channelsPerFrame (this allows mapping
+ // of more then CA_MAX_CHANNELS if needed)
+ if (mapAvailable)
+ numChannelsToMap = channelsPerFrame;
+
std::string layoutStr;
if (logMapping)