AudioEngine branch - DO NOT REQUEST BINARY BUILDS

  Thread Rating:
  • 15 Votes - 4.47 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
DDDamian Offline
Team-XBMC Developer
Posts: 3,023
Joined: Sep 2011
Reputation: 252
Location: Canada
Post: #1111
Hey mightymouse - not quite that easy. You can certainly merge AE back with the latest Eden releases, but the logging is still going to come from AE. Let's just say you've found a bug and a workaround (no gui sounds) all in one Smile

System: XBMC HTPC with HDMI WASAPI & AudioEngine - Denon AVR-3808CI - Denon DVD-5900 Universal Player - Denon DCM-27 CD-Changer
- Sony BDP-S580 Blu-Ray - X-Box 360 - Android tablet wireless remote - 7.1 Streem/Axiom/Velodyne Surround System
If I have been able to help feel free to add to my reputation +/- below - thanks!
find quote
mightymouse2045 Offline
Junior Member
Posts: 43
Joined: Feb 2012
Reputation: 0
Thumbs Up  Temp fix for Latest git build for HDMI users (Linux Only) Post: #1112
mightymouse2045 Wrote:I have tried disabling the pulse audio altogether, not building with pulse support, setting gstreamer properties to various outputs and all of them have failed.


UPDATE:

To ensure the statements in my previous post were true I decided to rebuild with --disable-pulse (again?), well obviously I hadn't done it with AE, I had done it with Eden as part of my getting passthrough working with that (which didn't help in the Eden build), but it HAS fixed the AE build from the merge on the 28th Jan!!!!!!!!!!! Latest Build still fails...

wingrunr21 - thanks for the suggestion - I had seen pulse conflicts in other posts and had tried disable pulse (but only with Eden not AE!).

Anyways so I thought I would try my hand at fixing this. Thanks to a suggestion by DDDamian, he thought the Alsa stopped working around the 28th of Jan, so I went backwards and well here is some detailed testing results and other info:

http://pastebin.com/7VwKD6Vm

As you can see from that, the commit on the 28th Jan labeled:
[AE][ALSA] fixed conversion of periods to frames, periods are already in frames on 28/1/2012, broke Alsa for us guys using HDMI.

The temporary fix is to apply this patch to the LATEST git build. This will revert back to the default behavior of attempting to use whatever you have set as your custom device.Big Grin

PATCH:

http://pastebin.com/a4MZTSb5
Code:
1. Copy the text in the above link.
2. Create empty patch.diff file in the root of the latest build of XBMC AE (eg command line to do it: 'gedit /path/to/your/AEbuild/patch.diff')
3. Paste in the lines from the above link
4. Save and close it
5. at CLI run (without quotes):
'cd /path/to/your/AEbuild'
'patch -p0 <patch.diff'

Once applied build as you normally do


On a Side note:

I still have a problem where I need to disable pulse when I build. If I don't disable pulse when building even if I have navigation sounds disabled and disabled nav sounds during playback it still ties up the Alsa passthrough device and I get passthrough failed in the logs and PCM only appearing on my receiver. Frown

That's a fix for gnif (when he's finished working on the Eden release)Oo
find quote
mightymouse2045 Offline
Junior Member
Posts: 43
Joined: Feb 2012
Reputation: 0
Post: #1113
repi Wrote:Hi, I was hoping I could get some elementary help: I have compiled the AE branch on Ubuntu 11.10 and video works fine but I have no audio. In the system prefs in xbmc it says "no audio device found". I saw some posts that said to write a custom mapping of 'plughw:0,7" and I tried that but still nothing.

I have selected my HDMI stereo connection in the sound preference of the ubuntu system.

If you can point me to a thread that would help, or if you can offer help, I would appreciate it. I want to use Linux as my HTPC but need sound! Thanks Smile

IF you are on linux then:

Follow my above post to apply the patch to the latest build. For correct HDMI passthrough it is incorrect to use plughw: or hw: for custom devices because they fail to recognise the AES bits after the device name. This is important for receivers (I think).

You should be using 'hdmi:CARD=NVidia,DEV=0' without the quotes. Now in your case you will need to change this to whatever appears in your CLI when you run:

aplay -L (case sensitive) - Whatever line displays hdmi:CARD=blah

If you have multiple lines like that then you try each one with a different DEV at the end ie DEV=0,1,2,3 (I think yours will be 1)

IF you still have no sound open your ~/.xbmc/temp/xbmc.log and if you see:

FactoryCodec - Audio: passthrough - Failed

OR something like:

NOTICE: Creating audio stream (codec id: 86020, channels: 6, sample rate: 48000, no pass-through)

If yes then probably your passthrough is being tied up by pulse (the issue I am experiencing) and you will need to rebuild AE with:

make uninstall
make distclean
./bootstrap && ./configure --disable-pulse && make -jX (enter number for X depending on how many CPU's you have to speed up builds eg: -j2)
make install
(This post was last modified: 2012-02-29 08:55 by mightymouse2045.)
find quote
mightymouse2045 Offline
Junior Member
Posts: 43
Joined: Feb 2012
Reputation: 0
Post: #1114
mightymouse2045 Wrote:UPDATE:

To ensure the statements in my previous post were true I decided to rebuild with --disable-pulse (again?), well obviously I hadn't done it with AE, I had done it with Eden as part of my getting passthrough working with that (which didn't help in the Eden build), but it HAS fixed the AE build from the merge on the 28th Jan!!!!!!!!!!! Latest Build still fails...

wingrunr21 - thanks for the suggestion - I had seen pulse conflicts in other posts and had tried disable pulse (but only with Eden not AE!).

Anyways so I thought I would try my hand at fixing this. Thanks to a suggestion by DDDamian, he thought the Alsa stopped working around the 28th of Jan, so I went backwards and well here is some detailed testing results and other info:

http://pastebin.com/7VwKD6Vm

As you can see from that, the commit on the 28th Jan labeled:
[AE][ALSA] fixed conversion of periods to frames, periods are already in frames on 28/1/2012, broke Alsa for us guys using HDMI.

The temporary fix is to apply this patch to the LATEST git build. This will revert back to the default behavior of attempting to use whatever you have set as your custom device.Big Grin

PATCH:

http://pastebin.com/a4MZTSb5
Code:
1. Copy the text in the above link.
2. Create empty patch.diff file in the root of the latest build of XBMC AE (eg command line to do it: 'gedit /path/to/your/AEbuild/patch.diff')
3. Paste in the lines from the above link
4. Save and close it
5. at CLI run (without quotes):
'cd /path/to/your/AEbuild'
'patch -p0 <patch.diff'

Once applied build as you normally do


On a Side note:

I still have a problem where I need to disable pulse when I build. If I don't disable pulse when building even if I have navigation sounds disabled and disabled nav sounds during playback it still ties up the Alsa passthrough device and I get passthrough failed in the logs and PCM only appearing on my receiver. Frown

That's a fix for gnif (when he's finished working on the Eden release)Oo

CAN OTHERS ON LINUX WITH HDMI AUDIO PASSTHROUGH PLEASE TEST THIS?

Also I am going to make a blanket statement here with regards to HDMI passthrough and the correct method of setting it up in XBMC on LINUX. Can anyone please comment on or correct me on the statements below because i would like to do a general 'HDMI pass through How To in Linux' update based on the following statements, because I have had a hell of a time getting my head around HDMI passthrough, with misleading statements, directions, advice, etc But once I have managed to work it out, it's actually not as hard as everyone seems to be making out that it is.

1. For HDMI passthrough the correct custom device to use is hdmi:CARD=x,DEV=x (or hdmi:Card etc whatever works)
The reason for this is that the hdmi: interface accepts the AES control bits correctly, which are used to identify the audio stream being sent to the receiver/tv (speeds up recognition of the audio stream, which should result in less handshaking and delays in playing/resuming play?)

2. plughw: and hw: should not be used because they both fail when sending AES control bits example error log from XBMC (Eden RC1):
Code:
ERROR: Initialize - failed to open custom device plughw:CARD=NVidia,DEV=3,AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2 (error:No such file or directory), retry with default plughw:CARD=NVidia,DEV=3

(With the above error you still get DTS or whatever, but it requires the receiver to decipher the stream)




GNIF

On a side note I just noticed - I can confirm that my fix for the current build only fixes hdmi: devices.

If I install the latest Eden build I can put in hdmi:NVidia or hw:1,3 or plughw:1,3 in custom passthrough device and they all work, however in AE only hdmi:NVidia works

Both plughw: and hw: fail with:

Code:
INFO: CAESinkALSA::Initialize - Attempting to open device hw:1,3,AES0=0x06,AES1=0x82,AES2=0x00,AES3=0x02
ERROR: CAESinkALSA::Initialize - snd_pcm_open_lconf(-2) - hw:1,3,AES0=0x06,AES1=0x82,AES2=0x00,AES3=0x02

I Believe that it is failing to fallback on error to using default hw:1,3 (without the AES bits) as you can see from the example above from the EDEN RC1 build
(This post was last modified: 2012-02-29 09:11 by mightymouse2045.)
find quote
mightymouse2045 Offline
Junior Member
Posts: 43
Joined: Feb 2012
Reputation: 0
Post: #1115
wingrunr21 Wrote:Again, the ONLY issue I have is with DTS audio. It it severely choppy. All other audio codecs stream to the receiver just peachy (including DTS-HD). I am living with the DTS issue for now by just having it output PCM for that codec.

I tried your git version (managed to work out i needed to checkout the latest eden_ae merged branch), built and yeah it's sort of the same as you described but no DTS-HD or DTS-HRA if I unselect DTS to get around the stuttering, and only certain DTS files are stuttering for me, most are working normally.

AAC passthrough doesn't work also for some movies, and disabling AAC capable receiver doesn't make them work either

Code:
17:31:04 T:139924712654592    INFO: CAESinkALSA::Initialize - Attempting to open device hdmi:CARD=NVidia
17:31:04 T:139924712654592   ERROR: CAESinkALSA::InitializeHW - Unable to open the required number of channels
17:31:04 T:139924712654592   ERROR: CAESinkOSS::Initialize - Failed to get supported formats, assuming AFMT_S16_NE
17:31:04 T:139924712654592    INFO: CSoftAE::Initialize - NULL Initialized:
17:31:04 T:139924712654592    INFO:   Output Device : NULL
17:31:04 T:139924712654592    INFO:   Sample Rate   : 48000
17:31:04 T:139924712654592    INFO:   Sample Format : AE_FMT_FLOAT
17:31:04 T:139924712654592    INFO:   Channel Count : 7
17:31:04 T:139924712654592    INFO:   Channel Layout: FL,FR,FC,BL,BR,SL,SR
17:31:04 T:139924712654592    INFO:   Frames        : 4800
17:31:04 T:139924712654592    INFO:   Frame Samples : 33600
17:31:04 T:139924712654592    INFO:   Frame Size    : 28

My card doesn't support AE_FMT_FLOAT so not sure if that's what's causing it - my card supports up to AE_FMT_S32NE

Navigation sounds are working - but as with the standard AE build I need to --disable-pulse on building.

Also strangely I need to select one of the named audio devices as the custom names don't work.

I will stick with eden for now but keep an eye on AE and your merges Wink
find quote
DDDamian Offline
Team-XBMC Developer
Posts: 3,023
Joined: Sep 2011
Reputation: 252
Location: Canada
Post: #1116
Hey all,

As this get's nearer to implementation I've compiled a Windows build and am looking for testers to help.

This thread is already very large (shows how much people want it!) and as things get closer it makes sense to widen the range of testers, while at the same time trying to keep this thread somewhat sane.

If you are interested and have a Windows platform please read the first post in the Windows testing thread here.

With luck we can sort out many of the platform-specific issues there and leave this thread to the core development side gnif has put so much work into. I hope that will make it easier for him to focus on the core issues as well without being side-tracked by Windows-specific issues.

Cheers, Damian

System: XBMC HTPC with HDMI WASAPI & AudioEngine - Denon AVR-3808CI - Denon DVD-5900 Universal Player - Denon DCM-27 CD-Changer
- Sony BDP-S580 Blu-Ray - X-Box 360 - Android tablet wireless remote - 7.1 Streem/Axiom/Velodyne Surround System
If I have been able to help feel free to add to my reputation +/- below - thanks!
find quote
Gryph Offline
Senior Member
Posts: 154
Joined: May 2009
Reputation: 0
Location: Melbourne / Australia
Post: #1117
What I do see as an issue, is if I have the Audiophile switch enabled, and I pause a movie (or skip forward) with DTS/HD or THD/DD - the video will run fast for a split second and then crash XBMC. Disabling the Audiophile switch fixes this issue. It appears as though it can't retrieve the last audio format and spits the dummy. I have only just worked this out in the last 5 - 10 mins, and haven't delved deeper into it, will test further tomorrow.
(This post was last modified: 2012-03-05 14:53 by gnif.)
find quote
gnif Offline
Team-XBMC Developer
Posts: 442
Joined: Feb 2008
Reputation: 34
Location: Australia, Katoomba
Post: #1118
Hi All,

1) STOP POSTING MODPROBE/ASOUNDRC STUFF HERE, IT IS NOT AE RELATED, there is an entire section on the wiki devoted to this subject, any further posts in this thread along those lines will be given an infraction!, this thread is under XBMC Development, it is NOT a support thread.

2) I have fixed an issue with the streams when dvdp calles Drain, it expects them to resume after they have finished draining. This can cause audio drop-outs when errors occur in the media stream due to either low powered hardware that cant decode fast enough, or DVB streams.

3) RAW audio output stream code path has been optimised.

4) I am going to prune all these modprobe/asound posts as they are way off topic.

@mightymouse2045:
Your patch: http://pastebin.com/a4MZTSb5
Can you please provide your device line so I can fix this properly instead of hacking out the test.

Also, your log shows this
Code:
00:45:10 T:139930336474880   DEBUG: FactoryCodec - Audio: passthrough - Opening
00:45:10 T:139930336474880   DEBUG: FactoryCodec - Audio: passthrough - Failed
The passthrough codec will fail if you don't have passthrough enabled in the settings or if the AE engine in use does not support RAW (SoftAE+ALSA does), it has nothing to do with your device string, see CDVDAudioCodecPassthrough::Open in "xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.cpp"

I am not scared of SVN - Cutting my hands open on the bleeding edge.
(This post was last modified: 2012-03-05 15:04 by gnif.)
find quote
wingrunr21 Offline
Member
Posts: 61
Joined: Jan 2012
Reputation: 1
Post: #1119
gnif Wrote:1) STOP POSTING MODPROBE/ASOUNDRC STUFF HERE, IT IS NOT AE RELATED, there is an entire section on the wiki devoted to this subject, any further posts in this thread along those lines will be given an infraction!, this thread is under XBMC Development, it is NOT a support thread.

To be fair, when audio settings work from the main branch and don't work here (ie the custom devices failing for people here), I think that qualifies for this thread.

wingrunr21 Wrote:Is anyone using AirPlay/AirTunes with AE? I'm running AE merged with Eden b3 and xbmc locks up hard whenever I try and AirPlay to it. No log output, no UI response, just a solid lock. If I stop iTunes/my iPhone from trying to send AirPlay stuff to it, xbmc regains responsiveness in a few minutes.

What I get in the logs: http://pastebin.com/twerwNFr
Again, this works fine with non-AE. This is running off your latest commits merged with Eden RC2.

Also, here's my log for the DTS output. I get this on some DTS files but not all. The audio streams in these files are ok since mplayer plays them fine, mkvmerge does not report issues, and xbmc non-AE plays them fine. This is running off your latest commits.

http://pastebin.com/Bj7n8p7h
find quote
repi Offline
Junior Member
Posts: 5
Joined: Feb 2012
Reputation: -6
Post: #1120
wingrunr21 Wrote:To be fair, when audio settings work from the main branch and don't work here (ie the custom devices failing for people here), I think that qualifies for this thread.

I agree. xbmc works for me from the main branch but not with AE. But it seems this person rather delete posts that help people rather than let people get help for these problems. Luckily, I printed the page before he deleted everything relevant to me.
find quote
Post Reply