Kodi Community Forum
XBMC PulseAudio passthrough support (including Nvidia) is available - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+--- Thread: XBMC PulseAudio passthrough support (including Nvidia) is available (/showthread.php?tid=96316)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18


- cbxbiker61 - 2011-11-22

GreenEyez Wrote:Nice job, i`m gonna try this on my test machine to see how it works. Any chance of porting your modified AudioFilter to Windows so we can get HD bitstreaming audio support with your branch until Audio Engine gets done?

AudioFilter should compile and work fine on Windows. The code worked on Windows before I modified it, and I don't think I added any specific UNIXy requirements. I did move files around though, so the Windows project files would have to be modified. If you update the project files send me a patch. I'm just not personally motivated enough to test on Windows.

I'm in test mode now on true-hd pass-through. In my tests true-hd is working fine. I do need to update AudioFilter for that though. Probably be after Thanksgiving for that, since I need to do some domestic type things for Thanksgiving.


- xchipx - 2011-11-23

Sorry for being stupid, but could someone explain to me how this is supposed to work?

I have an nvida gtx 260 card with HDMI out connected to my receiver.

I compiled pulseaudio with latest patch from this thread, audiofilter and xbmc from cbxbiker61's github links.

PA Passthrough using VLC works out of the box and regular audio plays like it should.

In XBMC I choose System -> Settings -> System -> Audio Output, and there I have the following choices:
Audio output: [HDMI, Optical/Coax, Analog]
Audio output device: [hdmi (ALSA), iec958 (ALSA), Defaults (ALSA), Internal Audio Digital Stereo (IEC958) (PulseAudio), Defaults (PulseAudio), Custom]
Passthrough device: [hdmi (ALSA), iec958 (ALSA), Custom)]

I guess I'm supposed to have the hdmi-surround-71 device? It doesn't work if I type it in manually using "Custom".

My PA_PROTOCOL_VERSION is 23.
Running Arch linux on 64bit

Greatful for any help regarding this.

BTW, I can get passthrough working through ALSA with PA killed


- cbxbiker61 - 2011-11-24

xchipx Wrote:Sorry for being stupid, but could someone explain to me how this is supposed to work?

I have an nvida gtx 260 card with HDMI out connected to my receiver.

I compiled pulseaudio with latest patch from this thread, audiofilter and xbmc from cbxbiker61's github links.

PA Passthrough using VLC works out of the box and regular audio plays like it should.

In XBMC I choose System -> Settings -> System -> Audio Output, and there I have the following choices:
Audio output: [HDMI, Optical/Coax, Analog]
Audio output device: [hdmi (ALSA), iec958 (ALSA), Defaults (ALSA), Internal Audio Digital Stereo (IEC958) (PulseAudio), Defaults (PulseAudio), Custom]
Passthrough device: [hdmi (ALSA), iec958 (ALSA), Custom)]

I guess I'm supposed to have the hdmi-surround-71 device? It doesn't work if I type it in manually using "Custom".

My PA_PROTOCOL_VERSION is 23.
Running Arch linux on 64bit

Greatful for any help regarding this.

BTW, I can get passthrough working through ALSA with PA killed

hdmi-surround71 should come up in your list of pass-through devices. If it doesn't, something is not quite right. You can use the pavucontrol to see what sinks are available for a specific device.

Yes, it's great that Alsa and PulseAudio seem to be working equally well, since some people will probably want to install on stripped-down machines dedicated to Xbmc and a plain Alsa setup would work just fine.

BTW, my PulseAudio pass-through code currently requires that the sink name starts with "hdmi-", that may be changed in the future but it currently works around a limitation in PulseAudio. That is the reason why you have to use hdmi-surround71, it won't work using a custom setup.


- xchipx - 2011-11-24

cbxbiker61 Wrote:hdmi-surround71 should come up in your list of pass-through devices. If it doesn't, something is not quite right. You can use the pavucontrol to see what sinks are available for a specific device.

Yes, it's great that Alsa and PulseAudio seem to be working equally well, since some people will probably want to install on stripped-down machines dedicated to Xbmc and a plain Alsa setup would work just fine.

BTW, my PulseAudio pass-through code currently requires that the sink name starts with "hdmi-", that may be changed in the future but it currently works around a limitation in PulseAudio. That is the reason why you have to use hdmi-surround71, it won't work using a custom setup.

Thanks! I was expecting it to work that way.

I don't have a sink called hdmi in pavucontrol either. I have an internal snd-hda-intel device, and for some reason it claims ownership of the HDMI output, even though the HDMI port is on the GFX-card.

So I can only switch between Analog Stero Duplex and Digital Stereo (IEC958) Output. The latter streams both through optical output and HDMI.

I guess I need to find out how to create a separate sink for the HDMI now.


- xynoe4 - 2011-11-24

cbxbiker61 Wrote:Yes, it's great that Alsa and PulseAudio seem to be working equally well, since some people will probably want to install on stripped-down machines dedicated to Xbmc and a plain Alsa setup would work just fine.

Does it mean that I can just compile your audiofilter and xbmc without pulse and get it working?

Thanks.


- cbxbiker61 - 2011-11-24

boulogne75 Wrote:Does it mean that I can just compile your audiofilter and xbmc without pulse and get it working?

Thanks.

Yes. The thread should probably be renamed. Smile I initially modified the AudioFilter code to allow me to get PulseAudio pass-through working. At that point I wasn't really testing any configuration besides my PulseAudio config. Some of the other guys in this thread have been testing it with straight Alsa with success. I haven't heard any complaints that are specific to running it with Alsa.

I haven't looked at how the Windows driver's interact with pass-through, but there is the possibility that it would run there too. I don't have any Windows boxes around, so I can't personally test that code anyway. AudioFilter should compile on Windows with some jiggering of the Windows build files. I did move some source files around, so I'm pretty sure it needs to have the build files fixed. Any patches for that would be appreciated.


- xynoe4 - 2011-11-24

Good to know Smile I´ll give it a try next week and report. Thanks again cbxbiker61 and great job...


- sjongele - 2011-11-25

cbxbiker61; it looks like you have done it. Have tried a number of movies and did not encounter a single problem; thanks!
Looking forward to your TrueHD passtrough implementation :-)


- AbMagFab - 2011-11-25

cbxbiker61 Wrote:Yes. The thread should probably be renamed. Smile I initially modified the AudioFilter code to allow me to get PulseAudio pass-through working. At that point I wasn't really testing any configuration besides my PulseAudio config. Some of the other guys in this thread have been testing it with straight Alsa with success. I haven't heard any complaints that are specific to running it with Alsa.

I haven't looked at how the Windows driver's interact with pass-through, but there is the possibility that it would run there too. I don't have any Windows boxes around, so I can't personally test that code anyway. AudioFilter should compile on Windows with some jiggering of the Windows build files. I did move some source files around, so I'm pretty sure it needs to have the build files fixed. Any patches for that would be appreciated.

I'm trying to put together what needs to be done to get this working, but I'm lost.

I need pre-Eden to get BD ISO support.

Can I also get HD audio passthrough using your filter? If so, can you update the original post, or post here a dummy's guide on how to do it?

Thanks in advance!


- cbxbiker61 - 2011-11-26

AbMagFab Wrote:I'm trying to put together what needs to be done to get this working, but I'm lost.

I need pre-Eden to get BD ISO support.

Can I also get HD audio passthrough using your filter? If so, can you update the original post, or post here a dummy's guide on how to do it?

Thanks in advance!

If I'm not mistaken pre-Eden means git head, my repository follow git head, so you should be fine there.

If you've got a receiver attached through hdmi, you should be good to go on pass-through.

Well I'm not quite sure what a "dummy" Wink wants to know besides what's in the first post. If you know how to use compilers and git, you should be able to do it. If you have specific questions, I'm sure someone can answer those.

I'll take another look at the first post, maybe I'll add something there. Keep in mind the Developer section is mostly for advanced users and other users that want to know what might be in the pipeline.

BTW, it's traditional for the README in the repositories to explain what's necessary for compiling the code. So maybe that's what you want to look at.


- xynoe4 - 2011-11-29

As promised last week:

Zotac ID41 (ION2)
Debian testing minimal (fresh install)
Alsa 0.23
XBMC compiled with external ffmpeg support and PA disabled
PA not installed in the system
FFMpeg v0.8.6


Just had to figure out which custom device name to use as hdmi audio device cos hw:0,7 (the usual one) didn't work for hd bitstreaming (dolby and dts were ok). So I tried hdmi:CARD=NVidia,DEV=1 and then DTS-HD MSTR flashed in my Onkyo Receiver.

Thank you very much and keep up the great work, cbxbiker61.

Waiting for Dolby True-HD implementation to test it Wink

PD: The few files I tested played without any problems (no slutter...)


- AbMagFab - 2011-11-30

boulogne75 Wrote:As promised last week:

Zotac ID41 (ION2)
Debian testing minimal (fresh install)
Alsa 0.23
XBMC compiled with external ffmpeg support and PA disabled
PA not installed in the system
FFMpeg v0.8.6


Just had to figure out which custom device name to use as hdmi audio device cos hw:0,7 (the usual one) didn't work for hd bitstreaming (dolby and dts were ok). So I tried hdmi:CARD=NVidia,DEV=1 and then DTS-HD MSTR flashed in my Onkyo Receiver.

Thank you very much and keep up the great work, cbxbiker61.

Waiting for Dolby True-HD implementation to test it Wink

PD: The few files I tested played without any problems (no slutter...)

Pretty sure the ION2 doesn't support HD audio bitstreaming. Am I mistaken?


- xynoe4 - 2011-11-30

AbMagFab Wrote:Pretty sure the ION2 doesn't support HD audio bitstreaming. Am I mistaken?

That's true in windows. I think it's because of the protected audio path and DRM but Linux in an other different world.
I can confirm it's working and there are more references throuh the web (http://www.mythtv.org/wiki/User_Manual:HDAudioPassthrough)


Repo updates in prep for true-hd support - cbxbiker61 - 2011-12-02

I just updated the AudioFilter and Xbmc repositories. I cleaned up the AudioFilter code and added the ability to the AudioFilter code to strip dts-core out of dts-hd streams (this could be used in the future to do pass-through with receiver/hdmi card combinations that cannot support the full bandwidth required for dts-hd). As of right now the xbmc side has been written to tell AudioFilter that it supports the higher bandwidth necessary for dts-hd. If anyone runs into a receiver/hdmi card that this isn't true, post the output from "cat /proc/asound/card*/eld*". I'm actually quite interested in what the ati cards will list for support in their eld's.

The good news is now that I've cleaned up the AudioFilter code and added all the bells and whistles I wanted for dts-hd, I'll be working on the dolby true-hd support starting tomorrow. Hehe, I just bought the 6 original Star Trek movies, and they're all in true-hd 7.1.


- sjongele - 2011-12-03

Some SD DD5.1 movies (they still exist) no longer want to play correctly: the frame rate drops from 25fps to 4fps. The same content plays correctly in the current XBMC nightly, so there might be a little error somewhere in Audiofilter.