winealsa: 6 Channel Audio

Joerg-Cyril.Hoehle at Joerg-Cyril.Hoehle at
Wed Oct 26 03:47:36 CDT 2011


Andrew Eikum wrote:
> >  A configuration option (in winecfg/control panel) [...]
> My reaction to this is "urrrrrrrghhhhhhh".
>Tucking stuff away in the registry makes it a pain to screw
>up their config, which means they'll probably turn to submitting bug
>reports with the default config first, which is exactly what I want.
Interesting wish. Somehow understandable, however ...

Currently I see the winecfg as the only viable solution to the issue that
we (at least I) don't know how to get the best default parameters.
E.g. dmix prefers 48000Hz but this is settable somewhere in /etc/alsa or /usr/share/alsa
PA seems to use 44100 on my system (and I'm wondering whether
PA may end up using dmix as back-end, involving some resampling from 44100 to 48000?!?)
All of them will happily accept any rate and resample.

I don't know how to get hw:0's preferred rate short of disabling resampling, which
will cause compatibility trouble (perhaps open hw:0 twice, once without resampling
to investigate the bare bones, then with resampling which is what Wine needs for its operations).

>GetMixFormat(). For example,
>it should really be a per-device (and therefore per-backend) setting.
Huh? it's already dependent on This->pcm_handle, hence the backend.

IMHO we need enumeration tests to verify that GetMixFormat exists for
every mmdevapi device. Conceptually IMHO, GetMix is all about a mixer.
I don't believe MS provides N mixers, rather than one for each of "Default Voice
output channel" and "Multimedia output" and perhaps "Comm output" -- should
these be different. That's 1-3. OTOH, it's possible that it supplies on-demand
mixing services for every mmdevapi backend, e.g. the poor built-in speaker,
on-board audio and distinct 5:1 PCI card. Can an app open any device in
shared (=mixer) mode, even when it's not one of the default devices?

It's quite logical that there's a control panel in Windows Vista-7. Their users
must be able to define which is their default (preferred) voice, multimedia
and comm output card, and possibly how their 5/7:1 speakers are positioned.

Ideally, Wine should detect whether ALSA has a distinct (and working)
"surround" or "5.1" output device, use that and detect (or map) its speaker configuration.

>Apparently ALSA is capable of handling up to 10,000 channels
The message means nothing more than that dmix will accept upto 10000 channels and
map that somehow to the underlying device.
Not unlike that systematic test performed by a German guy IIRC about channel mapping
on MS, where 1-6 channels were also accepted and distributed somehow to the existing speakers.

 Jörg Höhle

More information about the wine-devel mailing list