I’m noticing that with my Realtek 7.1 motherboard audio, I don’t seem to be able to send audio to the 7th and 8th channels in WASAPI shared mode.
I think this is due to the hardcoded speaker mask used in WASAPIDeviceBase::tryInitialisingWithFormat:
switch (numChannels)
{
// snip
case 8: format.dwChannelMask = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER; break;
default: break;
}
This sets dwChannelMask to 0xff. However, the Realtek is using a channel mask of 0x63f for its mix format. If I change the channel mask in tryInitialisingWithFormat to 0x63f, I can play out the upper channels just fine.
I suggest that the JUCE channel mask be set to match the mix format.
Matt