As i have no A/V receiver handy and could not test HBR playback directly, i removed the "RFC" type until the patchset was tested and proved working well. The patchset was tested on Intel chips and get positive feedback.
Quote from "Øyvind Kvålsvoll oyvind@kvalsvoll.com": "TrueHD and DTS-MA work fine from XBMC, 2-ch playback also works fine from XBMC. Channels are all mapped to the right speaker, all 7.1."
Quote from alanwww1: "I tested the patches. They work perfectly. I tested it with both DTS Master Audio and Dolby Tru HD streams. Also tested with speaker-test. Channel mapping was right." From: http://forum.xbmc.org/showthread.php?tid=128298&pid=1184574#pid1184574
Maybe there's still potential bug and i will keep on track that.
The idea of this patch comes from Anssi, Big credit to him at first! Thanks the guys from XBMC forum which help test the patches.
For people interested to test the patch, please remember to apply another change in alsa-lib side, you can refer to the patch detail from XBMC forum: http://forum.xbmc.org/showthread.php?tid=128298&pid=1178776#pid1178776
I will send that patch to alsa-lib mail-list later.
Changelog: * do not touch channel_allocation priority order, use new api to get correct channels number * use spdif->status to check audio type, pcm or non-pcm * create new non_pcm_mapping[] for non_pcm audio in seperate block * add non_pcm hdmi_spec_per_cvt to remember previous audio type, used to determine whether need a channel mapping update during the pcm/non-pcm stream switch with same channel number.
Wang Xingchao (3): ALSA: HDMI - Fix channel_allocation array wrong order ALSA: HDMI - Enable HBR feature on Intel chips ALSA: HDMI - Setup channel mapping for non_pcm audio
sound/pci/hda/patch_hdmi.c | 56 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 5 deletions(-)