From owner-freebsd-multimedia@FreeBSD.ORG Mon Feb 9 09:33:49 2015 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 253A0D98 for ; Mon, 9 Feb 2015 09:33:49 +0000 (UTC) Received: from mail.turbocat.net (heidi.turbocat.net [88.198.202.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D6782607 for ; Mon, 9 Feb 2015 09:33:48 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 8EB501FE023; Mon, 9 Feb 2015 10:33:44 +0100 (CET) Message-ID: <54D87F29.8070805@selasky.org> Date: Mon, 09 Feb 2015 10:34:33 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: =?UTF-8?B?ItCV0LLQs9C10L3QuNC5INCRLiDQodC/0LDQvNCw0LrQvtCy0YHQutC40Lki?= Subject: Re: Sound reasoning References: <54D7D53D.2020504@selasky.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Cc: freebsd-multimedia@freebsd.org X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Feb 2015 09:33:49 -0000 On 02/08/15 22:48, Евгений Б. Спамаковский wrote: > On Sun, Feb 8, 2015 at 10:29 PM, Hans Petter Selasky > wrote: > >> On 02/08/15 22:22, Евгений Б. Спамаковский wrote: >> >>> Hi. >>> >>> Is there a point to writing a pcm device to have multiple "channel"s in >>> the >>> same direction? >>> Say, two SND_FORMAT(AFMT_S16_LE, 1, 0) for record and two for playback, >>> vs. >>> just one SND_FORMAT(AFMT_S16_LE, 2, 0) in each direction. >>> >>> pcm_register() has so prominently two arguments 'numrec' and 'numplay' and >>> even if they are ignored, one can do pcm_addchan() any number of times. >>> How is this expressed to the user-land programmer? >>> >>> "Read the code" is a fine answer, but it would be nice if someone can >>> readily explain the idea behind the options. >>> >> >> Hi, >> >> > >> Sounds similar to what my "virtual_oss" is doing. See: >> >> svn --username anonsvn --password anonsvn \ >> checkout svn://svn.turbocat.net/i4b/trunk/ports > > >>From the description it looks like virtual_oss is trying to do what VCHANs > already succeed at doing. > No offense, but this still does not explain what the difference is between > a pcm unit collecting its physical streams in one channel vs. having a > channel for each... > > Let's say I'm five years old? Hi, Maybe I'm not answering your question ... "virtual_oss" is a bit more advanced than VCHANs. It can also record what is played back all bit-perfect and clock synced. A bit more in the direction of jackd. A multi-channel audio device can be split by a set of configuration parameters into any number of mono/stereo or multi-channel OSS devices. And there is a graphical QT based frontend: "virtual_oss_ctl" --HPS