[bug?] can't output mono files via hdmi
#1
I'm pretty sure this is an xbmc issue because i did 'speaker-test -c1 -Dplug:hdmi -r44100' and it worked just fine.

Lately i do not seem to be able to play files that have mono audio such as ted talks and some academic earth lectures.

  1. Linux Distro: Ubuntu 10.04
  2. Architecture details: Linux xbmc 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux
  3. Installed via SVN-PPA
  4. SVN Revision: 10.0-BETA2 R33779 (Compiled Sept 14, 2010)
  5. Detailed instructions to reproduce: play a video with mono audio via hdmi (ie, a ted talk or some academic earth lectures.)
  6. FULL Debug Log: see http://www.pastebin.ca/1941763
  7. Backtrace: did not crash
  8. Compiler Output: installed from svn-ppa

Is anyone else experiencing this?

Additional details:
Using HDMI audio from XBMC --> Onkyo HT-R670 --> TV
Turning off the receiver and letting the HDMI passthrough direct to TV does not resolve issue.
Workarounds would be greatly appreciated, though it seems to me that something has changed in xbmc itself to cause this. :(

EDIT: See lines 949 - 1001 in DEBUG log
Reply
#2
I guess I should go into a little more detail about what is happening.

When I play a video that is 44.1kHz mono, the video starts and when it comes time for the audio to 'kick in' it becomes choppy. When I look in the log I find "discontinuity" errors, roughly one for every "chop" in the video.

19:17:47 T:2270526320 M:553242624 ERROR: AddPackets - failed to add leftover bytes to render
19:17:47 T:2270526320 M:553242624 DEBUG: CDVDPlayerAudio:: Discontinuity - was:1384153.890188, should be:208979.591837, error:-1175174.298351

I'm not sure what could be causing it -- I don't think it's an alsa > receiver issue as 'speaker-test -c1 -Dplug:hdmi -r44100' works just fine.

I've noticed this on many things... but most notably on video sources recorded in mono like TED Talks and some Academic Earth lectures.
Reply
#3
davilla Wrote:Maybe, but if you don't at least include xbmc.log and any crashlog (if xbmc crashed), that's certainly a way to make me skip over the post.

OK, but my point is that I did post a FULL debug log as instructed and no one even bothered... not even a "works fine here."
Reply
#4
What happens if you set the speaker layout to 2.0.
Reply
#5
A-HA! Very curious, it works just fine.

There is not much point in setting the speaker configuration to 5.1 then is there? I mean.. 5.1ch AC3/DTS will passthrough just fine... I just won't get multich lpcm over hdmi, right?

I know there is a guide in the forum to 'fix' alsa support for multich lpcm over hdmi, but I am not a fan of implementing hacks that could get screwed up when I do an apt update.

Thanks for the idea. Hopefully alsa is fixed in 10.10.

D
Reply
#6
The hdmi device probably doesn't like being opened with just one channel, setting speaker layout to 2.0 changes that.
Passthrough will work ok, but anything you can't use passthrough for will be downmixed to 2.0.
Reply
#7
bobo1on1 Wrote:The hdmi device probably doesn't like being opened with just one channel, setting speaker layout to 2.0 changes that.
Passthrough will work ok, but anything you can't use passthrough for will be downmixed to 2.0.

However, "speaker-test -c1 -r44100 -Dplug:hdmi" works just fine.

Since XBMC is opening the device through the plug interface, it (alsa/plug) *should* have automatically done what it needed to do to output the audio through the HDMI interface (ie, resample, convert to stereo.. whatever, as far as I understand the nature of plug.)

Hence my confusion. Smile
Reply
#8
Quite possible that xbmc is doing something wrong, finding out what exactly is a bit difficult.
Reply
#9
bobo1on1 Wrote:Quite possible that xbmc is doing something wrong, finding out what exactly is a bit difficult.

At this point I'm satisfied to believe that it's alsa's fault since xbmc mapped the mono channel appropriately based on the config...
Code:
19:17:44 T:2270526320 M:549662720    INFO: CPCMRemap: Configured speaker layout: 5.1
19:17:44 T:2270526320 M:549662720    INFO: CPCMRemap: I channel map: CE
19:17:45 T:2270526320 M:549662720    INFO: CPCMRemap: O channel map: FL,FR,BL,BR,CE
19:17:45 T:2270526320 M:549662720   DEBUG: CPCMRemap: Downmix normalization is disabled
19:17:45 T:2270526320 M:549662720   DEBUG: CPCMRemap: FL =
19:17:45 T:2270526320 M:549662720   DEBUG: CPCMRemap: FR =
19:17:45 T:2270526320 M:549662720   DEBUG: CPCMRemap: BL =
19:17:45 T:2270526320 M:549662720   DEBUG: CPCMRemap: BR =
19:17:45 T:2270526320 M:549662720   DEBUG: CPCMRemap: CE = CE(1.000000*)
19:17:45 T:2270526320 M:549662720   DEBUG: CALSADirectSound::CALSADirectSound - Requested channels changed from 1 to 5
It's just a shame that alsa doesn't properly support multich lpcm without a bunch of finaling, but i'm sure that will be fixed eventually. :)
Reply
#10
set speakers to 2.0 . now i can watch mono video on XBMC and surround videos work fine via passthrough.
Thank you!
Reply
#11
Heh, I guess I should have mentioned... yea, I did that ages ago and it fixed the situation Wink
Reply

Logout Mark Read Team Forum Stats Members Help
[bug?] can't output mono files via hdmi0