On Thu, Feb 12, 2009 at 12:41:11PM +0800, Wu Fengguang wrote: > static const char *channel_name[MAX_CHANNELS] = { > /* 0 */ N_("Front Left"), > /* 1 */ N_("Front Right"), > /* 2 */ N_("Rear Left"), > /* 3 */ N_("Rear Right"), > /* 4 */ N_("Center"), /* wav file is "Front Center.wav" */ > /* 5 */ N_("LFE"), /* wav file is "Rear Center.wav" */ > /* 6 */ N_("Side Left"), > /* 7 */ N_("Side Right"), > > Whereas the HDMI channel mapping selected for 6-channel playback is > > { .ca_index = 0x0b, .speakers = { 0, 0, RR, RL, FC, LFE, FR, FL } }, > > Here the two mappings disagree on channels other than Front Left/Right. > > In theory the channel mapping should be adjusted via AC_VERB_SET_HDMI_CHAN_SLOT. > However I found that verb takes no effect for G35/G45. So I'm afraid > there's no trivial ways we can adjust the channel mapping. If the driver can't reorder the channels to what ALSA needs, is it possible to do it somewhere else like HDA-Intel.conf and use the routing plugin somehow to reorder things. Say for plughw:0,3 or modify the surround51 device? I don't know much about this interface but it looks like channel routing is possible here. Shane _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel