[RFT] Major snd_hda rewrite

Alexander Motin mav at FreeBSD.org
Sat Jan 21 14:51:03 UTC 2012

On 01/21/12 16:28, Alexander Motin wrote:
> 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
>> anything.
>  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
> HD formats.
> 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).

I mean "play anything uncompressed".

>> 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:
>> https://github.com/Fneufneu/xbmc/blob/freebsdAE/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp
>> and my dmesg: http://fneufn.eu/freebsd/dmesg.verb.htpc.20120121.txt

Alexander Motin

More information about the freebsd-current mailing list