XBMC PulseAudio passthrough support (including Nvidia) is available

  Thread Rating:
  • 3 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
sjongele Offline
Junior Member
Posts: 30
Joined: Nov 2011
Reputation: 0
Post: #121
cbxbiker61, just to try it out I have completely disabled Pulse (autospawn=0, processes killed). The Pulse devices are gone, as expected. With the passthrough device configured as "HDA Nvidia hdmi (ALSA)" again, the behavior is exactly the same as with Pulse switched on. Are you sure the bandwidth problem is really in Pulse?
find quote
cbxbiker61 Offline
Senior Member
Posts: 148
Joined: Nov 2010
Reputation: 1
Post: #122
sjongele Wrote:cbxbiker61, just to try it out I have completely disabled Pulse (autospawn=0, processes killed). The Pulse devices are gone, as expected. With the passthrough device configured as "HDA Nvidia hdmi (ALSA)" again, the behavior is exactly the same as with Pulse switched on. Are you sure the bandwidth problem is really in Pulse?

No, it may not be a Pulse issue. I'm working right now on getting the DTS-HD (some movies) issue sorted. I've done some preliminary tests without XBMC and I've got the bandwidth issue sorted. Now it's just a matter of rolling it into XBMC.
find quote
cbxbiker61 Offline
Senior Member
Posts: 148
Joined: Nov 2010
Reputation: 1
Post: #123
For those of you that have waited patiently for DTS-HD to work properly with pretty much any file you throw at it, the wait is over. I have updated my AudioFilter and Xbmc repositories with the changes. To handle the higher data rates I also had to make a patch for PulseAudio (1.1 in particular). So here is the patch.

Configure xbmc with "Digital Surround 7.1 (HDMI)" selected in System Settings/Audio as passthrough device.

Code:
--- ./src/modules/alsa/mixer/profile-sets/default.conf.orig    2011-10-20 06:54:16.000000000 -0600
+++ ./src/modules/alsa/mixer/profile-sets/default.conf    2011-11-17 02:16:00.038900536 -0700
@@ -173,6 +173,12 @@ channel-map = left,right
priority = 4
direction = output

+[Mapping hdmi-surround-71]
+device-strings = hdmi:%f
+channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
+priority = 5
+direction = output
+
; An example for defining multiple-sink profiles
#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
#description = Foobar
--- ./src/modules/alsa/alsa-mixer.c.orig    2011-10-20 06:54:16.000000000 -0600
+++ ./src/modules/alsa/alsa-mixer.c    2011-11-17 02:15:38.168035216 -0700
@@ -3700,7 +3700,8 @@ static int mapping_verify(pa_alsa_mappin
         { "iec958-passthrough",     N_("Digital Passthrough  (IEC958)") },
         { "iec958-ac3-surround-40", N_("Digital Surround 4.0 (IEC958/AC3)") },
         { "iec958-ac3-surround-51", N_("Digital Surround 5.1 (IEC958/AC3)") },
-        { "hdmi-stereo",            N_("Digital Stereo (HDMI)") }
+        { "hdmi-stereo",            N_("Digital Stereo (HDMI)") },
+        { "hdmi-surround-71",       N_("Digital Surround 7.1 (HDMI)") }
     };

     pa_assert(m);
(This post was last modified: 2011-11-18 00:41 by cbxbiker61.)
find quote
neoflex Offline
Senior Member
Posts: 120
Joined: May 2011
Reputation: 0
Post: #124
7.1 ? even if you have a 5.1 system ?
find quote
sjongele Offline
Junior Member
Posts: 30
Joined: Nov 2011
Reputation: 0
Post: #125
Wow, great work!
And again, Pulse disabled and passthrough set to "HDA Nvidia hdmi (ALSA)" does the job as well :-)
Thanks!
find quote
cbxbiker61 Offline
Senior Member
Posts: 148
Joined: Nov 2010
Reputation: 1
Post: #126
neoflex Wrote:7.1 ? even if you have a 5.1 system ?

Yeah, it's a bit confusing.

When you do pass-through the audio amplifier decides what to do with the multiple channels. So the PC-side configuration will always be set to an 8 (7.1) channel configuration. Your amp setup should have a configuration for your speaker layout.
find quote
ZyntaX Offline
Junior Member
Posts: 18
Joined: May 2010
Reputation: 0
Post: #127
I feel very stupid but how do i apply the patch? Make a .patch file and run patch in git folder? But what command? patch -?

Edit: Thank you sjongele for the answer!
(This post was last modified: 2011-11-22 19:25 by ZyntaX.)
find quote
sjongele Offline
Junior Member
Posts: 30
Joined: Nov 2011
Reputation: 0
Post: #128
There seems to be a little regression; DTS-HD MA and DTS-HRA work. Normal DTS and Dolby Digital lead to stuttering video and no sound (at least in my setup).
This is with the patch applied, using the "GF108 High Definition Audio Controller Digital Surround 7.1 (HDMI) (PulseAudio)" passthrough device, as well as with "HDA Nvidia hdmi (ALSA)".
find quote
sjongele Offline
Junior Member
Posts: 30
Joined: Nov 2011
Reputation: 0
Post: #129
ZyntaX, from the pulseaudio source dir, patch -p0 < patch_file would be a good starting point. patch complains when it cannot find the correct files.
find quote
neoflex Offline
Senior Member
Posts: 120
Joined: May 2011
Reputation: 0
Post: #130
sjongele Wrote:There seems to be a little regression; DTS-HD MA and DTS-HRA work. Normal DTS and Dolby Digital lead to stuttering video and no sound (at least in my setup).
This is with the patch applied, using the "GF108 High Definition Audio Controller Digital Surround 7.1 (HDMI) (PulseAudio)" passthrough device, as well as with "HDA Nvidia hdmi (ALSA)".
same pb for me with DTS and Dolby Digital, no sound.
ion platform
find quote
Post Reply