Re: [RFT] Major snd_hda rewrite

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Wed, 25 Jan 2012 01:39:25 +0200
On 25.01.2012 01:32, Mickaƫl Maillot wrote:
> 2012/1/24 Alexander Motin <mav_at_freebsd.org <mailto:mav_at_freebsd.org>>
>         Number of channels should be set to 8 by application when it
>         expects bit
>         rate above 6Mbps. Sample rate, as I've described, just give more
>         fine
>         control. Increasing sample rate does not automatically increase
>         channels. They are orthogonal:
>         Rate 48 96 192 48 96 192
>         Channels 2 2 2 8 8 8
>         ------------------------------__----------------------------
>         Mbps 1.5 3 6 12 24 49
>
>
> ok so set 8 channels is just to allow more bandwidth.
> i just looked at alsa hdmi code (because i never find oss code that can
> play hd audio),
> they set 192k and 8 channels for every DTS HD / TRUEHD / E-AC3 file, so
> i was thinking to do the same.

HBR mode (8 channels) is not always supported by hardware and not 
defined by HDMI 1.1 spec (not sure about 1.2). So I think if possible, 
it would be nice to differentiate them.

>         What I've forgot is to allow 8ch format. :) Add the patch below.
>         Hope
>         sound(4) has no other limitations for it.
>
>     Hmm. Looks like there is some limitation. You may grep kernel for
>     AFMT_PASSTHROUGH and find two "XXX force ..." comments and code,
>     including forcing 2 channels for AC3. Luckily for not part for
>     frequency is commented out. Further we may try to comment or modify
>     part about number of channels.
>
> spotted and commented
>
>         --- hdaa.c (revision 230511)
>         +++ hdaa.c (working copy)
>         _at__at_ -4979,6 +4979,8 _at__at_
>         }
>         if (HDA_PARAM_SUPP_STREAM___FORMATS_AC3(fmtcap)) {
>         ch->fmtlist[i++] = SND_FORMAT(AFMT_AC3, 2, 0);
>         + if (channels >= 8)
>         + ch->fmtlist[i++] = SND_FORMAT(AFMT_AC3, 8, 0);
>         }
>         ch->fmtlist[i] = 0;
>         i = 0;
>
>         But in your case I think it should be enough to just increase sample
>         rate to 96 or 192KHz.
>
> so if my problem persist after settings 8 channels, i'll blame xbmc oss
> part.

Can't wait to know result. :)

-- 
Alexander Motin
Received on Tue Jan 24 2012 - 22:39:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:23 UTC