[RFT] Major snd_hda rewrite
mav at FreeBSD.org
Sat Jan 21 14:29:02 UTC 2012
On 01/21/12 15:17, Mickaël Maillot wrote:
> So i tried DTS-HDMA and Dolby TrueHD without success.
> when i play DTS-HDMA, my receiver display DTS-HR and seams to play dts
> core with lots of interruptions.
> and when i play TrueHD, my receiver display TrueHD but doesn't play
From that description I can conclude that you are passing through
compressed DTS-HD and TrueHD streams to the receiver. What are the
bitrates of streams you are playing? It looks like your receiver doesn't
receives all data. If I understand right, to transfer with compressed
bitrates above 6.144Mbps special High Bit Rate mode should be activated
in CODEC, when data stream occupies all 8 HDMI channels instead of 2. I
haven't implemented this feature yet as my receiver doesn't support such
I'll try to make a patch for it a bit later and send you to try. Until
that time, is it possible to make your xbmc to decode those HD streams
into different number of uncompressed LPCM channels to play it that way?
It would be interesting to test 6.0, 6.1, 7.0 and 7.1 LPCM
configurations with your receiver. Or at least normal definition 7.1
playback would be interesting to test (you can just set vchanformat to
s16le:7.1 or s32le:7.1 and play anything).
> and sysctl show:
> dev.pcm.4.play.vchanmode: passthrough
> dev.pcm.4.play.vchanrate: 192000
> dev.pcm.4.play.vchanformat: ac3:2.0
> i tried without vchan with same results.
> i can't set more than 2 channels for my hdmi output (dsp4), i want to
> set 8 channels like alsa does.
What do you mean that you can't set more then 2 channels? I've never
tried to set ac3 format with more then 2 channels, but s16le:7.1 and
s32le:7.1 should work fine. At least s16le:5.1 and s32le:5.1 are working
perfectly for me. For HDA 24bit samples stored in memory as 32bit, so
setting s24le format only cause extra 24->32bit conversion.
> i never show things like PCMDIR_...: Stream setup.... in my messages, so
> may be i use oss wrongly.
They are printed only when hw.snd.verbose set to 4.
> you can find the source code of xbmc used to play losseless file here:
> and my dmesg: http://fneufn.eu/freebsd/dmesg.verb.htpc.20120121.txt
More information about the freebsd-current