Dominik 'Rathann' Mierzejewski wrote:
I've tested it on my 4.0 setup and I didn't hear the front center and lfe channels until I downmixed it to 4ch: mplayer -af pan=4:1:0:0:0:0:1:0:0:0:0:1:0:0:0:0:1:0.25:0.25:0:0:0.25:0.25:0:0 \ return,_the_h720p.mov That makes sense, since mplayer is outputting 6 channels, and on your system the last two aren't hooked up to anything. One thing, though: do you have channels=6 in your config file, or did you specify -channels 6 on your command line? If not, then I'm confused, since as far as I know mplayer tells libfaad to downmix to 2 channels be default.
I have channels=4.
Ok, that'll do it too.
For some reason I have a nagging feeling that somebody else proposed a different approach and that it might have been committed, but I can't dig up the patch. Maybe I'm imagining things.
I can't recall any such thing.
Giacomo pointed out enough for me to go by. See the following, and lots of replies in that thread. To: mplayer-dev-eng@mplayerhq.hu From: Alexander 'Lazy Ranma' Ponyatikh Subject: [MPlayer-dev-eng] [PATCH] channel reordering for 6ch audio Date: Sat, 29 Jul 2006 20:39:44 +0400
In any case, the patch I posted was mostly a proof-of-concept, but I guess it works. Looking back, I see two things I might do differently.
(a) The chan_map array could just be a string, with creation of *int pointers for af->control happening right before they're needed. This would obviate the need for a separate af_set_channel_map() funcion.
That turned out to actually be messier, so I just changed it so the function is only called in af.c instead of in each decoder.
(b) If (a) is done, then it would be easy to make sure the length of the array is as expected and prevent reading beyond the end.
I'll go ahead and make those changes and see if it works.
Great. I guess nobody was interested because nobody who cared had access to >2ch speaker setup. Could you also take care of WMA? See the recent thread on -users for details.
I'm going to send an updated patch soon. -Corey