From owner-freebsd-multimedia@FreeBSD.ORG Sun Jul 1 13:10:22 2007 Return-Path: X-Original-To: freebsd-multimedia@hub.freebsd.org Delivered-To: freebsd-multimedia@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 75E2616A41F for ; Sun, 1 Jul 2007 13:10:22 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 1F5E213C487 for ; Sun, 1 Jul 2007 13:10:22 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l61DALqn099996 for ; Sun, 1 Jul 2007 13:10:21 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l61DALTa099995; Sun, 1 Jul 2007 13:10:21 GMT (envelope-from gnats) Date: Sun, 1 Jul 2007 13:10:21 GMT Message-Id: <200707011310.l61DALTa099995@freefall.freebsd.org> To: freebsd-multimedia@FreeBSD.org From: Ariff Abdullah Cc: Subject: Re: kern/113950: [sound] [patch] add per-vchan mixer support X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ariff Abdullah List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 13:10:22 -0000 The following reply was made to PR kern/113950; it has been noted by GNATS. From: Ariff Abdullah To: bug-followup@FreeBSD.org, alexbl@FreeBSD.org Cc: Subject: Re: kern/113950: [sound] [patch] add per-vchan mixer support Date: Sun, 1 Jul 2007 21:06:03 +0800 Technically, the trivial approach used by DFly not quite applicable for FreeBSD due to various changes in the current (I'm talking about -current / 7.x) sound driver codes. These includes maintaining sample/bit fidelity (DFly still using 16bit/stereo little-endian), and future multichannel interleaved pcm data. Besides, inlining volume processing into virtual channel mixer is not quite correct since we already have feeder_volume to do the job. Our vchan is no longer meant for playback only since the latest "vrec" feature brings vchan capability for recording as well. Making vchan's (and vchan only) volume controllable is also quite unfair for other possible multi-pcm channel hardware like snd_emu10k and snd_via8233 since these drivers have multiple hardware playback channels that will make them look like a 2nd class citizen. That said, reasoning like "Sorry, you must enable vchan to use this feature" is purely unacceptable. But wait, I'm not finish yet. Please take a look at http://people.freebsd.org/~ariff/ , and see for yourself why our soon-to-be-committed "vpc" (volume per channel, coined by joel@) are much better. It is sample/bit/endian/multichannel safe, handle both playback and recording direction through "pcm" and "rec" control, valid for hardware/virtual channels and better locality control through SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, SOUND_MIXER_[PCM|RECLEV] ioctls. (btw, I'm still waiting for interested port committers to make a port out of patch/binary modules from ~ariff/ , especially for RELENG_6 and 5) With that, I'm about to close this PR. Next time, please bring this sort of discussion to multimedia@ first, ok ? :) Thank you. -- Ariff Abdullah FreeBSD ... Recording in stereo is obviously too advanced and confusing for us idiot ***** users :P ........