Kodi Community Forum
AudioEngine branch - DO NOT REQUEST BINARY BUILDS - 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: AudioEngine branch - DO NOT REQUEST BINARY BUILDS (/showthread.php?tid=78289)



- DDDamian - 2012-02-29

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


Temp fix for Latest git build for HDMI users (Linux Only) - mightymouse2045 - 2012-02-29

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. Confused

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


- mightymouse2045 - 2012-02-29

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


- mightymouse2045 - 2012-02-29

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. Confused

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


- mightymouse2045 - 2012-03-02

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


Looking for testers on Windows platform - DDDamian - 2012-03-04

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


- Gryph - 2012-03-05

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.


- gnif - 2012-03-05

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"


- wingrunr21 - 2012-03-05

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


- repi - 2012-03-05

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.


- gnif - 2012-03-05

@repi, @wingrunr21 - This is a DEVELOPMENT thread, not a support thread, these device string issues are NOT what this thread is for, it is for DEVELOPERS to collaborate on problems, not users to discuss what different hardware settings they need to make things work.

Quote:But it seems this person rather delete posts that help people
I am not just a "person" I am the core developer of AE, this thread is for debugging issues with AE that cause major issues such as segfaults and the like.

Quote: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.
AE works VERY differently from the main branch, and not all the settings and hacks are required any-more as AE's logic is much smarter, so NO, do not expect the same settings to work the same way.

If you have a problem and the problem is related to asound/pulse/hardware, it is NOT an AE fault and should NOT be posted here. Off topic posts WILL be deleted, this has been said many many times since this thread was started. The information you are looking for and posting already exists in numerous other threads and on the wiki.

If your problem is indeed a core AE issue, then post your problem, full debug logs, and if applicable, a stack trace. Keep this thread clean of extra crap, I need to see the REAL bug reports and not the configuration bug reports.

If you want a support thread for AE, create one outside of the development forums, but remember, AE is experimental and NOT supported in any way


- phil65 - 2012-03-06

repi Wrote: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.

the description of the development forum section says:

Quote:Developers forums for XBMC related development, by programmers and coders only!
No end-user support, no bug reports, and no feature/function requests in this forum!

we all want the devs spending their time in developing instead of wasting their time with useless support because things aren´t final yet, don´t we? Time for that will come when this piece of code becomes part of the main development branch.


- repi - 2012-03-06

phil65 Wrote:we all want the devs spending their time in developing instead of wasting their time with useless support because things aren´t final yet, don´t we? Time for that will come when this piece of code becomes part of the main development branch.

The devs don't have to respond, but if someone else wants to offer help, then they can. gnif is smart enough to see the difference, supposedly.

Yeah, I am sure that shift in attitude will shift once it becomes stable.


- gnif - 2012-03-06

Quote:gnif is smart enough to see the difference, supposedly.
I am also smart enough to know when to keep my mouth shut. You are out of line, back down, this forum is NOT for support, its for developers. I can obviously skip over the trash in the thread, but that is my development time wasted trying to separate out what issues are real and what are not.

Any more discussion along these lines in this thread will incur an infraction, you have been warned.

@wingrunr21 - Can you please post a complete debug log, I need to see everything to get an idea of what's going on.


- repi - 2012-03-06

gnif Wrote:I am also smart enough to know when to keep my mouth shut. You are out of line, back down, this forum is NOT for support, its for developers. I can obviously skip over the trash in the thread, but that is my development time wasted trying to separate out what issues are real and what are not.

Any more discussion along these lines in this thread will incur an infraction, you have been warned.

@wingrunr21 - Can you please post a complete debug log, I need to see everything to get an idea of what's going on.

It's obvious you're not that intelligent if you cannot figure out why I continue to go against the tyrant here.

I have asked on several occasions over weeks before coming to this thread on #xbmc and the response has always been "what's audio engine?" so your thinking is wishful. Now go ahead, give me an infraction, or ban me. It doesn't matter, since you took away the only way someone can get help on this matter and now we can't use Linux if we want HD Audio via xbmc. So, thanks gnif! You are a great open source developer. Now go ahead, press that button, I don't care. Other people do, though, and maybe they'll kick you to the curb.