Status of VIA Envy24 audio controller

Konstantin Dimitrov kosio.dimitrov at gmail.com
Mon Jul 24 11:38:01 UTC 2006


during the last weekend i have some free time and decided to look through
the list of reported problems:

1) memory leak after "kldunload snd_ak452x.ko" : "Warning: memory type
ak452x leaked memory on destroy (1 allocations, 64 bytes leaked)."

fixed, so should be removed from the list with bugs, here is the patch:
http://xkodi.svobodno.com/envy24/new/envy24.c.memleak.diff

2) 24 bit playback not supported (only 16/32 bit)

it is not true and should be removed from the list with bugs. according to
OSS specification 24bit playback is done using 32bit playback: 24bit sample
is padded with zeroes to 32bit sample and after that 24bit sample becomes
32bit sample with LSB==0. it is not responsibility of a driver to do that
conversion, the conversion itself takes place into the player or into the
kernel (newpcm subsystem). the driver supports 32bit playback, so that is
why it also supports 24bit playback. i have tested 24bit playback with
mplayer and it works fine as expected:

Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 2 ch, s24le, 2116.8 kbit/100.00% (ratio: 264600->264600)
Selected audio codec: [pcm] afm:pcm (Uncompressed PCM)
==========================================================================
Checking audio filter chain for 44100Hz/2ch/s24le -> 44100Hz/2ch/s24le...
AF_pre: 44100Hz/2ch/s24le
AO: [oss] 44100Hz 2ch s24le (3 bps)
Building audio filter chain for 44100Hz/2ch/s24le -> 44100Hz/2ch/s24le...

3) after kld(un)loading some times, the card fails to be probed until reboot

i can't reproduce that problem, more details are needed ... are there any
error messages when probing fails?

4) No sound in KDE: Everything works fine at the console but when I load KDE
the sound stutters and plays at less then 1/2 speed.

fixed, so should be removed from the list with bugs, here is the patch:
http://xkodi.svobodno.com/envy24/new/envy24.c.hm_kde.diff

the problem is related to the implementation of Envy24(1712) hardware mixer
support in the driver, see 5) for more details

5) vchans don't work

it is a feature, not a bug and it is really great feature, so should be
removed from the list with bugs. Envy24(1712) has very precise 36bit wide
hardware mixer, which is superior that vchans (software sound mixer in the
kernel). the driver supports Envy24(1712) hardware mixer, so up to 10
channels (5 stereo pairs) can be playback simultaneously and that is why no
software sound mixer (vchans) is needed.

however, there are problems with the implementation of Envy24(1712) hardware
mixer support in the driver, one of them is the problem decribed in 4), more
detailed and correct description of 4) is:
when playback several channels simultaneously and stop one of the channels,
then sound starts to stutter and plays at very low speed.
i'm expecting more problems related to the implementation of Envy24(1712)
hardware mixer support to be found.
personally i have already found two new: there is no problem to playback
simultaneously 5 stereo 16bit sound files, but there is problem to playback
simultaneously more than one 24bit/32bit sound file or 16bit sound file and
24bit/32bit sound file and currently i have no solution for these two new
found problems.

any feedback or questions are welcome.


More information about the freebsd-multimedia mailing list