From owner-freebsd-multimedia@FreeBSD.ORG Thu Aug 7 07:07:07 2008 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 ABC081065671 for ; Thu, 7 Aug 2008 07:07:07 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id 297308FC12 for ; Thu, 7 Aug 2008 07:07:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) X-Spam-Flag: SKIP X-Spam-Yversion: Spamooborona-2.1.0 Received: from [212.86.226.226] (account mav@alkar.net HELO mavbook.mavhome.dp.ua) by cmail.optima.ua (CommuniGate Pro SMTP 5.1.14) with ESMTPSA id 187873206 for freebsd-multimedia@FreeBSD.org; Thu, 07 Aug 2008 08:57:04 +0300 Message-ID: <489A8EAE.3020803@FreeBSD.org> Date: Thu, 07 Aug 2008 08:57:02 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.16 (X11/20080726) MIME-Version: 1.0 To: freebsd-multimedia@FreeBSD.org Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: How to create several dsp units? Help needed. 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: Thu, 07 Aug 2008 07:07:07 -0000 Hi. I am working on patch extending snd_hda functionality, making it less quirky and more conforming with UAA specification. I expect to implement there support for several independent audio devices within the same hardware codec (not equal mixed together channels like vchans, but independent inputs and outputs working on different connectors). Looks like I have managed good with codec part but now I need to announce this functionality to sound subsystem in which I am not very good yet. Could somebody give me a hint in this area or point to some documents? As I understand I need somehow to create several /dev/dspX and possibly several /dev/mixerX devices to let applications operate them independently. Is it possible to do within the same pcm0 hardware device? Second pcm_addchan() call creates only pcm0:play:dsp0.p1, but I need something like pcm0:play:dsp1.p0. Is in possible or dsp0 is hard bound to the pcm0? If dsp0 hard bound to pcm0 then is it possible to create pcm1 dynamically within same hardware? Thanks for any support. -- Alexander Motin