859159d164
Because of using more clear and same time more functional codec parser new driver is able to handle more codecs, use them better then before and without most of previous quirks. All of tested codecs itself manage playback, record, input mixing and monitoring quite fine. In all of investigated trouble cases problem was found or in nonstandard codec usage or incorrect codec configuration made by BIOS. Most of that cases could be fixed using device hints, some of which are already included to the driver. New driver supports multiple codecs per HDA bus, multiple audio function groups per codec and multiple logical sound devices per audio function group. So don't worry when you get several PCM devices instead of one, it is normal. It is usual situation with powerful codecs to provide, for example, 3 PCM devices: one for 7.1 playback and main recording, one for headset and one for digital SPDIF I/O. New driver implements Universal Audio Architecture (UAA) much better then previous one. Most information about recommended codec usage now taken from the codec configuration registers initialized by BIOS. User may alter that configuration using device hints to reconfigure logical audio devices to his needs in a very broad range up to the limits of the codec functionality. New driver supports digital PCM playback and AC3 pass-through. I am not sure about completeness of this implementation, but I have several success stories including my own. Vchans subsystem does not support AC3 pass-through so it had to be disabled for that devices at this moment. New driver is ready for multichannel playback, but until our OSS is unable to use this it will just duplicate same stereo stream into all channel pairs. New driver supports suspend/resume. I am unable to really test this part myself, but I have got several success stories. Driver has very informative verbose boot messages. So if you have any questions or problems - enable and read them first. Discussed on: freebsd-multimedia@ Tested by: many |
||
---|---|---|
.. | ||
hda | ||
als4000.c | ||
als4000.h | ||
atiixp.c | ||
atiixp.h | ||
au88x0.c | ||
au88x0.h | ||
aureal.c | ||
aureal.h | ||
cmi.c | ||
cmireg.h | ||
cs4281.c | ||
cs4281.h | ||
csa.c | ||
csapcm.c | ||
csareg.h | ||
csavar.h | ||
ds1-fw.h | ||
ds1.c | ||
ds1.h | ||
emu10k1.c | ||
emu10kx-midi.c | ||
emu10kx-pcm.c | ||
emu10kx.c | ||
emu10kx.h | ||
envy24.c | ||
envy24.h | ||
envy24ht.c | ||
envy24ht.h | ||
es137x.c | ||
es137x.h | ||
fm801.c | ||
ich.c | ||
ich.h | ||
maestro3.c | ||
maestro_reg.h | ||
maestro.c | ||
neomagic-coeff.h | ||
neomagic.c | ||
neomagic.h | ||
solo.c | ||
spicds.c | ||
spicds.h | ||
t4dwave.c | ||
t4dwave.h | ||
via82c686.c | ||
via82c686.h | ||
via8233.c | ||
via8233.h | ||
vibes.c | ||
vibes.h |