At Tue, 18 Nov 2008 16:57:13 +0800, Wu Fengguang wrote:
Hi all,
This patchset attempts to support multi-channel HDMI audio.
It contains two basic operations:
- setup the CA(channel-allcation) byte in the audio infoframe
- setup the converter channel to HDMI slot mapping
Please check the last two patches for the detailed descriptions:
[PATCH 1/4] hda: make standalone hdmi_fill_audio_infoframe() [PATCH 2/4] hda: make global snd_print_channel_allocation()
[PATCH 3/4] hda: HDMI channel allocations for audio infoframe [PATCH 4/4] hda: HDMI channel mapping cleanups
The current implementation only does minimal works that can ensure the multi-channel audio playing out. However the wrong speakers may be choosed, and I really need more information/knowledge/instructions from you to get it right.
As mentioned in the reply to patch#3, the speaker positioning is basically an unimplemented feature. So, let's make it as simple as possible right now.
There are two things we need to implement about speaker positioning: - return PCM stream <-> speaker position map - allow to choose different speaker model
The first one could be implemented likely using an extention to the PCM with (a sort of) TLV entry at best. Once the TLV format and ioctl is defined, the rest of implementation would be relatively easy.
I still have no concrete idea how to implement the second item. One easy solution is to implement it as a control (e.g. mixer) element. In this case, the implementation is pretty driver-specific, and no change in the ALSA core side is needed.
BTW, the rest of patches look good to me.
thanks,
Takashi