On Mon, Aug 10, 2015 at 05:49:41PM +0100, Russell King - ARM Linux wrote:
I'm not sure what the right solution is here: modifying every audio player out there to make HDMI work sanely is crazy. Having alsalib automatically generate the correct AES channel status bytes for linear audio formats seems to be sensible, but difficult given its present structure with the defaults - the iec958 plugin has no idea if the defaults are being used or not.
The advantage of having the horrid conversion in the kernel is that we can choose to generate proper AES channel status data without regard to userspace for standard linear PCM, and when the iec958 plugin is being used with proper channel status (eg, in compressed audio pass-through mode by VLC) then that works too.
The other advantage of doing it in kernel is that it also fixes tinyalsa applications (which mainly means Android systems) by default for PCM data.