[PATCH RFC 4/5] dsound: Clean up channels

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Tue Jan 3 09:45:37 CST 2012


Alexander,

You want to google the paper titled "Defining speaker locations in
multi-channel streams and WDM audio drivers using the
WAVEFORMATEXTENSIBLE structure" by Carsten Schulz to learn a lot about
channel mapping as performed by w2k.  It's a pity there's nothing like
it for xp or w7!

Wine's mmdevapi does not yet behave like native's 5:1 cards.  People
have sent me the following mmdevapi:render test data on native machines:
render.c:182: chan: 6
render.c:183: rate: 48000
render.c:184: align: 24
render.c:191: Mask: 3f

IOW, the system's mixer format is really 6 channels!
There presumably, DSound sends stereo and 6 channel data to the mixer.
I suppose MS evolved DSound's mixer into mmdevapi's one, with some lessons learned.

BTW, as I'm not aware of a means to extract from ALSA the user's
speaker configuration, Wine likely needs either a winecfg setting
(like MS' system preferences) or a registry key to advertize the
mixer's dwChannelMask (and default to 0x3f with 6 channels).

Regards,
	Jörg Höhle


More information about the wine-devel mailing list