Live Dharma: DTS at 5.1, PCM at 2.0, no DD throu HDMI
#1
That's really wierd: a minimal install of Ubuntu Maverick (10.10) x64 with Dharma Live on an ASUS M3N78-EM (nVidia based 8200/8300 board) HTPC connected through HDMI to an Harman Kardon AVR255 receiver plays DTS pass through just fine at 5.1 but fails to play DD pass through - the receiver gets nothing. When I uncheck the "AC3 capable" in XBMC's settings, the receiver get a PCM stream, but only the front left and front right channels` I have to set XBMC to 2.0 to downmix all other channels.

Some info (somewhat abbreviated):
Quote:# uname -a
Linux XBMC 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 02:41:37 UTC 2010 x86_64 GNU/Linux

# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.23.

# nvidia-settings -v
nvidia-settings: version 260.19.29 (buildd@litembilla) Thu Dec 16 04:22:48
UTC 2010

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0

# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=NVidia
HDA NVidia, ALC1200 Analog
Default Audio Device
front:CARD=NVidia,DEV=0
HDA NVidia, ALC1200 Analog
Front speakers
[...]
surround51:CARD=NVidia,DEV=0
HDA NVidia, ALC1200 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
[...]
iec958:CARD=NVidia,DEV=0
HDA NVidia, ALC1200 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, NVIDIA HDMI
HDMI Audio Output
dmix:CARD=NVidia,DEV=0
HDA NVidia, ALC1200 Analog
Direct sample mixing device
dmix:CARD=NVidia,DEV=1
HDA NVidia, ALC1200 Digital
Direct sample mixing device
dmix:CARD=NVidia,DEV=3
HDA NVidia, NVIDIA HDMI
Direct sample mixing device
[...]
dsnoop:CARD=NVidia,DEV=3
HDA NVidia, NVIDIA HDMI
Direct sample snooping device
hw:CARD=NVidia,DEV=0
HDA NVidia, ALC1200 Analog
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=1
HDA NVidia, ALC1200 Digital
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=3
HDA NVidia, NVIDIA HDMI
Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=0
HDA NVidia, ALC1200 Analog
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=1
HDA NVidia, ALC1200 Digital
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=3
HDA NVidia, NVIDIA HDMI
Hardware device with all software conversions

# lspci | grep Audio
00:07.0 Audio device: nVidia Corporation MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio (rev a1)

root@XBMC:~# lsmod | grep snd
snd_hda_codec_nvhdmi 15451 1
snd_hda_codec_realtek 299844 1
snd_hda_intel 26019 0
snd_hda_codec 100919 3 snd_hda_codec_nvhdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 6660 1 snd_hda_codec
snd_pcm 89104 2 snd_hda_intel,snd_hda_codec
snd_seq_midi 5932 0
snd_rawmidi 22207 1 snd_seq_midi
snd_seq_midi_event 7291 1 snd_seq_midi
snd_seq 57512 2 snd_seq_midi,snd_seq_midi_event
snd_timer 23850 2 snd_pcm,snd_seq
snd_seq_device 6912 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 64181 9 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 1240 1 snd
snd_page_alloc 8588 2 snd_hda_intel,snd_pcm

I have no asound.conf/.asoundrc files at the moment (though I've tried many) and my alsa-base.conf file is at it's default state (I've tried many options suggested but removed all of them). All channels mave been unmuted in alsamixer.

The following only plays on front left and front right:
Quote:# speaker-test -c6 -twav -Dhdmi

speaker-test 1.0.23

Playback device is hdmi
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 349504
Period size range from 32 to 174752
Using max buffer size 349504
Periods = 4
was set period_size = 174752
was set buffer_size = 349504
0 - Front Left
4 - Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE

Though I read somewhere that it supposed to do that.

Based on the suggestion found here, I tried the following:
Quote:# aplay -D hw:0,3 SURROUNDTEST_011212.wav
Playing WAVE 'SURROUNDTEST_011212.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
^CAborted by signal Interrupt...
# aplay -D hw:0,3 SURROUNDTEST_DD_640.wav
Playing WAVE 'SURROUNDTEST_DD_640.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Both the DTS and the DD samples played fine on all speakers. So the hardware and software are capable, it's XBMC that's failing.

Some weird lines from XBMC's log:
Quote:14:05:39 T:140606519658240 M:3353501696 NOTICE: Opening audio stream: 1 source: 256
14:05:39 T:140606519658240 M:3353501696 NOTICE: Finding audio codec for: 86021
14:05:39 T:140606519658240 M:3353501696 NOTICE: Creating audio thread
14:05:39 T:140606486423296 M:3353382912 NOTICE: running thread: CDVDPlayerAudi :Tonguerocess()
14:05:40 T:140606486423296 M:3341893632 NOTICE: Creating audio device with codec id: 86021, channels: 2, sample rate: 48000, pass-through
14:05:40 T:140606486423296 M:3341893632 WARNING: PulseAudio: Does not support passthrough
14:05:40 T:140606486423296 M:3284234240 WARNING: CALSADirectSound::GetSpace - get space failed. err: -32 (Broken pipe)
14:05:56 T:140606519658240 M:3254562816 NOTICE: DVDPlayer: closing audio stream
14:05:56 T:140606519658240 M:3254562816 NOTICE: Closing audio stream
14:05:56 T:140606519658240 M:3254562816 NOTICE: Waiting for audio thread to exit
14:05:56 T:140606486423296 M:3254562816 NOTICE: thread end: CDVDPlayerAudio::OnExit()
14:05:56 T:140606519658240 M:3254562816 NOTICE: Closing audio device
14:05:57 T:140606519658240 M:3254562816 NOTICE: Deleting audio codec

Huh? I don't have PulseAudio! OK, there's a libpulse file and a .pulse folder, but no pulseaudio found anywhere on the disk or loded in memory and apt-get claims it's not installed.

I'm completely out of my depth here. Any ideas?
Reply
#2
No solutions? No wise ideas to test? Not even wild stabs in the dark?

Oh well, more info:

I found a wav file with 5 distinct streams of PCM audio. Used aplay -Dhw:0,3 to send it to the receiver. Results: only front left and front right play. Or, to be exact, only front right, the 1st channel on the file, and only on the 1st iteration - beyond that I get silence until I change the input source on the receive and then change it back. But I can tell the front speakers are working by the click they make when the receiver switches them on and by the display in the receiver changing from DVD (the default name of the source which I haven't bothered changing) to PCM 48KHz, and this happens only when the two front channels are playing.

So it seems I have two different problems:

1. XBMC won't pass AC3 to the receiver through HDMI.
2. PCM only works on the front speakers. This one is a system-wide problem and not limited to XBMC.

So, any ideas? I'll try to pull some logs on those two problems, if you can passthrough AC3 through HDMI in XBMC or play 5.1 PCM, could you please upload your XBMC/system logs, so I'll know what to look for?
Reply

Logout Mark Read Team Forum Stats Members Help
Live Dharma: DTS at 5.1, PCM at 2.0, no DD throu HDMI0