Cluster

I’ve looked at the via82xx ALSA source code, and 48000 is hardwired all the way through it. Haven’t had the time yet to dig out the chipset documentation to see if I can hack it. In the meantime, I’ve managed a massive improvement in top-end quality with S/PDIF output by moving the resampling responsibilities from the chipset (which seems to offer only a very poor linear interpolation, hence the ringing) back into mplayer. With the command line

mplayer -ao alsa9 -af resample=48000:0:1

mplayer upsamples using an integer-based polyphase processor, which gives much cleaner output for complex audio. There’s also an option to do polyphase transcoding using floating point math (replace the ’1′ above with a ’2′, see the documentation), but on the Epia at least, this generates a playback error in mplayer. But in any case, mplayer is doing a much better job than the hardware, and that will have to do for now. Oh and for completeness, I should mention that the basic configuration is from the ALSA section of VIA’s Application Notes, which seem accurate. After install, you just need to use alsamixer to unmute the EIC output, and set the EIC level to zero.