[mythtv] [mythtv-commits] Ticket #1104: multi channelaudio support
Michael T. Dean
mtdean at thirdcontact.com
Wed Aug 16 12:12:47 UTC 2006
On 08/15/2006 12:33 AM, Mark Spieth wrote:
>>Analog and ac3, don't know about german channels providing dts ;)
>>
>>
>the 6 analog channels out (for me) are
>L,R -> audio out plug 1
>C,LFE -> plug 2
>SR,SL -> plug 3
>
>afaict this is standard.
>will do some testing over the weekend or earlier if I have time with my
>limited setup.
>
>does your channel have 6ch audio? (including LFE/subwoofer)
>can you get the startup part of the frontend log to see what the audio part
>is doing.
>
The "standard" in ALSA is described in the comments in
/usr/share/alsa/pcm/surround*.conf . The standard for 7.1 audio is:
# Hardware output from 7.1 speakers
# Samples must be positioned:
# chn0 - front left
# chn1 - front right
# chn2 - rear left
# chn3 - rear right
# chn4 - center
# chn5 - lfe
# chn6 - side left
# chn7 - side right
And 5.1 is the same but without channels 6 and 7. (Channels 6 and 7 are
incorrectly labeled 7 and 8 in the comment.)
However, some hardware doesn't use this standard. For that hardware,
different configurations are specified using a translation table
(ttable) in the "standard" surround device aliases (i.e. surround40,
surround51, surround71, etc.) in /usr/share/alsa/cards/*.conf .
Therefore if using non-standard hardware /AND/ using an ALSA built-in
device alias, your non-standard hardware will react as would standard
hardware.
Specifically, the ICE1724, ICH, ICH4, NFORCE, and VIA8237 all use
non-standard channel-output mapping for surround. (So, Mark, if your
"standard" is based off one of these cards hardware usages, it's not the
real standard.)
Anyone using a custom definition for his/her audio could add a
translation table to the custom device alias in /etc/asound.conf or
~/.asoundrc. Asking the users to learn enough about ALSA to do so may
be more than we should expect, though. (See
http://www.gossamer-threads.com/lists/mythtv/users/134552#134552 for
more on ttable.) Unfortunately, that means the only way to know for
sure which mapping the hardware uses is to parse the
/usr/share/alsa/cards/*.conf files, but the only way to know if we
should use the hardware mapping (instead of ALSA default) is to also
parse the /etc/asound.conf or ~/.asoundrc and to find out whether the
device alias specified to Myth is an ALSA built-in or a redefined custom
version of the ALSA built-in or a custom alias that slaves to one of the
ALSA built-ins or a custom alias that provides its own translation
table. Obviously, none of this should be done by Myth...
For now, Jan, what happens when you change your MythTV audio output
device to "ALSA:surround51"? With that, you'll be using an ALSA
built-in alias, so you'll get the ALSA-standard mapping, so if Mark used
the ALSA standard for the patch, you should get proper output to the
proper speakers (assuming your speakers are connected to the correct
outputs ;).
Mike
More information about the mythtv-dev
mailing list