On Thu, Feb 12, 2009 at 01:02:41AM +0200, Takashi Iwai wrote:
At Wed, 11 Feb 2009 14:54:48 -0800, Shane W wrote:
On Wed, Feb 11, 2009 at 11:42:00PM +0100, Takashi Iwai wrote:
At Wed, 11 Feb 2009 14:32:41 -0800, Shane W wrote:
missing. The order in the wav is: front left centre front right rear left rear right sub buz
The order assumed here doesn't match with ALSA mapping. In ALSA, front left front right rear left rear right center LFE
Sorry I meant the spoken order, I've no idea what the channel mapping of a 6 channel wav is.
Better to test with speaker-test program whether the mapping is correct.
Ah didn't know about this program. Ok results with: speaker-test -D hw:0,3 -s n where n ranged from 0 to 6
-s 1 speaker-test says front left actual is front left likewise with -s 2 for front right -s 3 speaker-test says should be rear left actual is lfe that is the sound came from lfe -s 4 speaker-test says rear right actual is centre -s 5 speaker-test says centre actual was rear left and -s 6 speaker-test says lfe actual is rear right
Thanks. Also make sure that you pass -c 6 option.
If I understand it right, the ALSA channel sequence is defined in speaker-test as:
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.
Thanks, Fengguang