13 Jul
2012
13 Jul
'12
1:15 p.m.
On Fri, Jul 13, 2012 at 05:59:03PM +1000, Donny Yang wrote:
- if (channels != 1 && channels != 2) - { - FIXME("There is no support for %u channels\n", channels); + if (dsb->device->pwfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) + channelMask = ((WAVEFORMATEXTENSIBLE*)dsb->device->pwfx)->dwChannelMask; + else if (channels == 1) + channelMask = SPEAKER_FRONT_CENTER; + else if (channels == 2) + channelMask = SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT; + else { + FIXME("There is no support for %u channels without an extensible wave format\n", channels); return; }
Before you resend, please consider testing how Windows behaves in this condition. Does it actually refuse to apply any volume at all? Andrew