On 12-06-08 16:14, Florian Winter wrote:

> I have some more questions:
> Is there a way to find out which soundcards support hardware mixing (and 
> have support for it implemented in their corresponding ALSA drivers)?

Not all that easily from the code. The ALSA soundcard matrix at:

http://www.alsa-project.org/main/index.php/Matrix:Main

might be the best source. You'll have to compensate for not everything 
on there being accurate; for the TerraTec page I know that where HWMIX 
is listed, it's accurate:

http://www.alsa-project.org/main/index.php/Matrix:Vendor-Terratec

Those are older chips though.

> Is it safe to assume that ALSA will not use dmix if the sound card 
> (and the ALSA driver for it) supports hardware mixing?

Yes. And as such, checking the files under /usr/share/alsa/cards to note 
which ones DO setup dmix and subtracing those from the complete set 
would be another way of answering the above question. If a card uses 
dmix by default, it's through the mechanism you see in those files (for 
example, see ENS1370.conf for a card that uses dmix).

As an aside -- note that "hardware" mixing might not be any better than 
software mixing. One obvious way of implementing it inside a chip is as 
much upsampling to a common internal rate as it is software and in 
hardware you have even fewer resources meaning it might very well be 
that you'd in fact be better of with dmix than without.

A while ago I for example noticed that an 8000 Hz file played back by a 
TerraTec DMX (snd-es1968) sounded every bit as crummy as that same file 
at 48000 after externally upsampling it (with sox) through bad quality 
linear upsampling. A good quality upsampling to 48000 got me the same 
sound from the DMX as a different, non-mixing, card produced while 
playing back the original file so the DMX is using bad upsampling, at 
least for 8000 Hz sources.

Rene.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to