dsound: Add support for adjusting volume of more than 2 channels
Andrew Eikum
aeikum at codeweavers.com
Fri Jul 13 08:15:06 CDT 2012
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
More information about the wine-devel
mailing list