PulseAudio, as usual, has been annoying me.
This time, it’s because it’s blocking the S/PDIF passthrough via HDMI from XBMC.
I found a great tutorial on how to disable it at http://www.jeffsplace.net/node/12.
However for some reason I had no sound from the TV. That’s because the default device for ALSA is the analog audio output rather than the HDMI port. To fix this, run aplay -l in terminal to determine the card ID for the HDMI out.
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0
Then, create a ~/.asoundrc file with the following:
Where 0 is your card ID and 3 is the device ID found from the aplay -l.
Now all apps should be able to play audio through ALSA/HDMI.
yer -ao alsa -ac hwdts -vo vdpau qgh_dts.dts