[RFT] Major snd_hda rewrite

Mickaël Maillot mickael.maillot at gmail.com
Sat Jan 28 02:58:36 UTC 2012

2012/1/25 Alexander Motin <mav at freebsd.org>

> Commenting it appeared not good, as at least mplayer doesn't sets channels
> for AC3. That makes sound(4) use default 1 channel for AC3, that is
> definitely not supported. I believe this should be better:
> http://svn.freebsd.org/**changeset/base/230537<http://svn.freebsd.org/changeset/base/230537>
> Also, as soon as sound(4) interprets 8 channel as 7.1 by default, I've
> changed previous patch a bit to allow both "8.0" and "7.1" AC3 formats:
> http://svn.freebsd.org/**changeset/base/230513<http://svn.freebsd.org/changeset/base/230513>
thank, i can set 8 channels without vchan now.

> For me this at least doesn't break normal AC3 operation and when I hacked
> mplayer to set 8 channels, I can see predictable codec configuration and
> time in mplayer predictably running 4 times faster. Unluckily mplayer seems
> doesn't support TrueHD passthrough to ckeck closer -- it always does
> decoding.
ok i think i found the problem: in
cchn is equal to 7 for me if i set SNDCTL_DSP_CHANNELS to 8.
and it's why HBR bit is not set.

it's confirmed in my /v/l/messages where chan_count=0x7:
Jan 28 03:23:53 htpc kernel: hdac1: 24576Kbps of 92160Kbps bandwidth used
Jan 28 03:23:53 htpc kernel: pcm4: PCMDIR_PLAY: Stream setup fmt=02800400
(7.1) speed=192000
Jan 28 03:23:53 htpc kernel: pcm4: PCMDIR_PLAY: Stream setup nid=4:
fmt=0x1817, dfmt=0x0021, chan=0x0010, chan_count=0x07, stripe=1

More information about the freebsd-current mailing list