• 1
  • 2(current)
  • 3
  • 4
  • 5
  • 18
XBMC PulseAudio passthrough support (including Nvidia) is available
#16
Philmatic Wrote:Isn't this duplicating the work being done in the AudioEngine branch? Or do I not understand what you're talking about (Always possible Smile)?

I'm working on PulseAudio passthrough specifically. I read through the thread and it looks I could probably take advantage of some of the extensions they're adding. So I'll probably branch off their git as soon as I'm ready. Thanks for the link.
Reply
#17
OK, I've got dts-hd muxing working in AudioFilter. Now to make a few changes in Xbmc code and I'll have pulse dts-hd passthrough working.
Reply
#18
this is going to be incredible if you can integrate this. This is really the biggest thing missing from XBMC
Reply
#19
Good news Big Grin I've just watched District 9 and Master and Commander in full dts-hd. A few minor glitches (a couple of pops, I think it might be buffer underruns), other than that it worked great!

One thing I did notice with Master and Commander was that with standard dts the dialogue was not nearly as clear as it was with dts-hd. dts-hd has about 4 times the bandwidth.

I'll be putting up the newer code sometime tomorrow. I've been working pretty long hours on it and now I just want to relax a bit.
Reply
#20
Those drop-outs are happening on Boxee's bitstreaming code too.. they haven't been fixed yet and they're proving to be quite hard to troubleshoot.
Living Room: ASUS Chromebox / OpeneElec 5 / Kodi 14.2
Bedroom: Amazon FireTV Stick / Kodi 14.2
Home Office: Amazon FireTV Stick / Kodi 14.2
Windows Server: Intel Core i3-2100T / 8GB Ram / 48TB / MySQL / StableBit DrivePool on Server 2012 R2 Standard
Reply
#21
Looks like it'll be a day or two before I have a git-branch ready for testing. I just did some testing on the AudioEngine branch and it seems to have problems. I'll be posting some patches for AudioEngine to at least get them compiling with external FFmpeg. If the AudioEngine branch fixes their problems I've got the patches ready to apply.

Considering the AudioEngine branch doesn't seem to currently succeed in handling passthrough, I'll be branching off head. I'm hoping Pulse gets a commit in to their passthrough branch that eliminates the need to patch PulseAudio code at all. It'll just be a matter of git cloning from the right tree.

I'm wrapping the code in conditionals so that it will build Pulse passthrough support if the installed version of Pulse supports passthrough (this should be official in Pulse version 1.0).
Reply
#22
OK, I've been burnin the midnight oil so I'm ready for others to test the results.

Download/build/install in order.

git://git.collabora.co.uk/git/user/arun/pulseaudio.git

after you clone pulseaudio.git change into the pulseaudio directory and "git checkout passthrough".

git://github.com/cbxbiker61/audiofilter.git

git://github.com/cbxbiker61/xbmc.git

Configure xbmc with appropriate devices selected in System Settings/Audio, pulse audio devices show up with (pulse) extension.
Reply
#23
Great work cbxbiker61, is it possible to post/upload a compiled version for less tehnical people so we can test out, since i don`t know how to compile/use git? I`m interested mostly in DTS-HD MA and True HD bitstreaming, so i`ll let you know the results on a Denon 2310 receiver.
Reply
#24
SpectreX Wrote:Great work cbxbiker61, is it possible to post/upload a compiled version for less tehnical people so we can test out, since i don`t know how to compile/use git? I`m interested mostly in DTS-HD MA and True HD bitstreaming, so i`ll let you know the results on a Denon 2310 receiver.

I feel your pain...but it's probably not a great idea to build a testing binary since it's dependent on a test version of Pulse which will break some of your standard package dependencies. I have my own distribution which I can hack at will, so when I use a testing version of PulseAudio I just rebuild the packages that depend on it.

Now if we could find a user that has your distribution and your OK with breaking some packages that depend on PulseAudio we might get someone to compile a package for you. Other than that, you'll have to wait for PulseAudio 1.0 and Xbmc 11.

Other users might find it useful that my version of xbmc has been patched to work with external Python 2.7 and compiles clean against the latest and greatest git FFmpeg.
Reply
#25
I am having a problem compiling audiofilter, here is the output.

#make -j8
mkdir -p out.x86_64 out.x86
make -C out.x86_64 -f ../GNUmakefile TOP=../.. libAudioFilter.a bsconvert noise mpeg_demux spdifer swab wavdiff
make[1]: Entering directory `/home/shadow/audiofilter/gnu/out.x86_64'
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/Ac3HeaderParser.cpp -o Ac3HeaderParser.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/Ac3Parser.cpp -o Ac3Parser.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/AgcFilter.cpp -o AgcFilter.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/AutoFile.cpp -o AutoFile.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/BitStream.cpp -o BitStream.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/filters/Converter.cpp -o Converter.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/filters/ConvertFunc.cpp -o ConvertFunc.o
g++ -c -D_GNU_SOURCE -g -O -Wall -I../../include -I../../lib ../../lib/filters/Convolver.cpp -o Convolver.o
../../lib/Ac3HeaderParser.cpp:46:6: error: ‘Ac3HeaderParser’ has not been declared
../../lib/Ac3HeaderParser.cpp:142:6: error: ‘Ac3HeaderParser’ has not been declared
make[1]: *** [Ac3HeaderParser.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/shadow/audiofilter/gnu/out.x86_64'
make: *** [all] Error 2
Reply
#26
shadow Wrote:I am having a problem compiling audiofilter, here is the output.

It's fixed now, I did a last second header rename.
Reply
#27
Thanks, it worked. Compiling xbmc now then I finally get to test it.
Reply
#28
I can't get it to work. In the audio output setting I have no Pulse choices for the passthrough output device
Reply
#29
shadow Wrote:I can't get it to work. In the audio output setting I have no Pulse choices for the passthrough output device

I'd say that you don't have the PulseAudio git installed, or maybe not in a normal location.

/usr/include/pulse/version.h should have:

#define PA_PROTOCOL_VERSION 21

If it doesn't passthrough support isn't built into xbmc.

BTW, you have to rebuild xbmc after you fix that.
Reply
#30
I was in /usr/local

Although I noticed that I I am only at 20 not 21. (stock ubuntu PA was 16)
Am I still having problems or did you miss type?

Recompiling xbmc now.
Reply
  • 1
  • 2(current)
  • 3
  • 4
  • 5
  • 18

Logout Mark Read Team Forum Stats Members Help
XBMC PulseAudio passthrough support (including Nvidia) is available3