xbmc/xbmc — pull request #4899 by Memphiz (2014-06-12 09:31:33+00:00)
Title: [AE/osxsink] - don't set the altered outputformat which might have wrong channel count

For planar devices we adapt the outputFormat from 1 channel to
std::min((size_t)format.m_channelLayout.Count(), streams.size());

here

https://github.com/xbmc/xbmc/blob/master/xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp#L748

When setting the physical format afterwards here

https://github.com/xbmc/xbmc/blob/master/xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp#L777

We get the error:

ERROR: CCoreAudioStream::SetPhysicalFormat: Unable to set physical format for stream 0x0061. Error = '!dat'

This PR ensures to set the unaltered format which was found during stream scoring and instead handling the number of output channels in a seperate variable.