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.
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.
That's a fix for gnif (when he's finished working on the Eden release)
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