From owner-freebsd-multimedia@FreeBSD.ORG Wed Jan 25 12:16:51 2012 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 709181065675; Wed, 25 Jan 2012 12:16:51 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-ey0-f182.google.com (mail-ey0-f182.google.com [209.85.215.182]) by mx1.freebsd.org (Postfix) with ESMTP id BA3308FC15; Wed, 25 Jan 2012 12:16:50 +0000 (UTC) Received: by eaai10 with SMTP id i10so2160427eaa.13 for ; Wed, 25 Jan 2012 04:16:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=pHS05hAeqeIyrhZ6zv4vD3snzXmacjocG9t0TctsUwY=; b=BrcUW12UxByCd4S9IHO/xQFswTVyQ38Cv/NGpD2tB/N4u34Q0vrolYJgzVjugzRjuk Qd8rIb/2P/TxfB40oAO7vRxpTcvzwvll6WHp8mQhspl53uQ4iZPhMTUQD2k9R9PNQAak OkVZp/f5VV+fU9rcqvdil1AXVVUaZYwmQMD28= Received: by 10.213.106.7 with SMTP id v7mr3054036ebo.50.1327493809756; Wed, 25 Jan 2012 04:16:49 -0800 (PST) Received: from mavbook2.mavhome.dp.ua (pc.mavhome.dp.ua. [212.86.226.226]) by mx.google.com with ESMTPS id r2sm964932eef.7.2012.01.25.04.16.47 (version=SSLv3 cipher=OTHER); Wed, 25 Jan 2012 04:16:48 -0800 (PST) Sender: Alexander Motin Message-ID: <4F1FF2AD.9020003@FreeBSD.org> Date: Wed, 25 Jan 2012 14:16:45 +0200 From: Alexander Motin User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20111227 Thunderbird/9.0 MIME-Version: 1.0 To: =?ISO-8859-1?Q?Micka=EBl_Maillot?= References: <4F0DE3FD.2020203@FreeBSD.org> <20120112121853.GC1429@procyon.xvoid.org> <4F0ED8D0.8080403@FreeBSD.org> <4F171D7A.4080003@FreeBSD.org> <4F177979.5010106@FreeBSD.org> <4F1ACBA8.6000203@FreeBSD.org> <4F1EB305.9000105@FreeBSD.org> <4F1EDD3D.6070800@FreeBSD.org> <4F1F31CA.5000507@FreeBSD.org> <4F1F34DB.9040405@FreeBSD.org> <4F1F412D.5040009@FreeBSD.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-multimedia@freebsd.org, FreeBSD current Subject: Re: [RFT] Major snd_hda rewrite X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2012 12:16:51 -0000 On 01/25/12 09:42, Mickaël Maillot wrote: > 2012/1/25 Alexander Motin > > > > 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 > > so if my problem persist after settings 8 channels, i'll blame > xbmc oss > part. > > > ok so unfortunately it's does not work :( > first: with vchan disable, i cant set format to AFMT_AC3, ioctl always > return -1 > in /v/l/messages: > Jan 25 08:09:18 htpc kernel: pcm4: chn_setformat(): Format change > 0x00100400 failed, falling back to 0x00100008 > so may be my change in sys/dev/sound/pcm/channel.c is not good ? i just > commented: > /* XXX force stereo */ > if (format & AFMT_PASSTHROUGH) > format = SND_FORMAT(format, AFMT_PASSTHROUGH_CHANNEL, > AFMT_PASSTHROUGH_EXTCHANNEL); 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 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 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. > next with vchan: i can set ac3 to 2 channels and 8 channels. > when i try to play DTS HDMA or TRUEHD, i set ac3, 8 channels, 192k > and no sound ! before i had: dtshdma: some part of sound (like all data > cant be send) and truehd: some crapy bipbip > now everything seems to be ok for the player, procstat -f write counter > grows up, but no sound from my receiver: no channel input, nothing > showed, like nothing is send to him. > no error in xbmc.log or in messages: > Jan 25 08:15:35 htpc kernel: pcm4: chn_start(): VCHAN PARENT starting! > (PCMDIR_PLAY/running) (ready=8192 force=1 i=1 j=0 intrtimeout=2 latency=2ms) > Jan 25 08:15:35 htpc kernel: hdac1: 24576Kbps of 92160Kbps bandwidth used > Jan 25 08:15:35 htpc kernel: pcm4: PCMDIR_PLAY: Stream setup > fmt=02800400 (7.1) speed=192000 > Jan 25 08:15:35 htpc kernel: pcm4: PCMDIR_PLAY: Stream setup nid=4: > fmt=0x1817, dfmt=0x0021, chan=0x0010, chan_count=0x07, stripe=1 > Jan 25 08:15:35 htpc kernel: pcm4: chn_trigger() pcm4:play:dsp4.p0: > calling go=0x00000001 , prev=0xffffffff > Jan 25 08:15:35 htpc kernel: pcm4: chn_trigger() pcm4:virtual:dsp4.vp0: > calling go=0x00000001 , prev=0xffffffff I've tried with both vchans on and off and found no difference. In both cases cases I had vchanformat set to "s16le:2.0", as vchan should just pass any ac3 through without conversion and set format is not important. -- Alexander Motin