Comment 0 for bug 421009

Revision history for this message
Martin Vysny (vyzivus) wrote :

Hello guys :)
mplayer seems to always swap channels when trying to play 5.1 faad mkv file. For example. right speaker plays content intended to be played through the center speaker. I had to craft a script which redirects all channels to correct speakers. totem handles the playback correctly.
mplayer: 1.0rc2-4.3.3
totem: 2.26.1

the script:
#!/bin/bash
# somehow mplayer has AAC/FAAD channels switched
# the codec outputs channels in the following ordering: CE,FL,FR,RL,RR,LFE, but pulseaudio expects the following ordering: FL,FR,RL,RR,CE,LFE.
# we thus need to map first channel to fifth speaker, etc.
MAP="6"
# First channel: map to fifth
MAP=$MAP":0:0:0:0:1:0"
# Second channel: map to first
MAP=$MAP":1:0:0:0:0:0"
# Third channel: map to second
MAP=$MAP":0:1:0:0:0:0"
# Fourth channel: map to third
MAP=$MAP":0:0:1:0:0:0"
# Fifth channel: map to fourth
MAP=$MAP":0:0:0:1:0:0"
# Sixth channel: map to sixth
MAP=$MAP":0:0:0:0:0:1"
mplayer -af pan=$MAP "$@"

Recently I found a patch to mplayer which perhaps fixes the bug: http://archives.free.net.ph/message/20090809.234723.559a036b.en.html
The link contains tons of useful information.