From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: Complex hw buffer with MMAP_COMPLEX? Date: Tue, 09 Oct 2012 16:19:52 +0200 Message-ID: References: <50742405.9070201@drcomp.erfurt.thur.de> <50742B6C.9080601@ladisch.de> <20121009140911.GK2040@ltw.loris.tv> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 42BC42616CD for ; Tue, 9 Oct 2012 16:19:53 +0200 (CEST) In-Reply-To: <20121009140911.GK2040@ltw.loris.tv> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Adrian Knoth Cc: alsa-devel@alsa-project.org, Clemens Ladisch , Andre Schramm List-Id: alsa-devel@alsa-project.org At Tue, 9 Oct 2012 16:09:11 +0200, Adrian Knoth wrote: > > On Tue, Oct 09, 2012 at 03:49:32PM +0200, Clemens Ladisch wrote: > > > > That is, we're dealing with 25 (or 26 for output) interleaved streams > > > with two or eight channels each. > > > > > > How could we represent such a layout in ALSA, that is, how are we > > > talking to userspace? Would one create subdevices and rejoin them via > > > plughw? > > > > Is it possible to start/stop the streams independently? > > No, there's only a single start/stop call for the entire card. > > > > Or use MMAP_COMPLEX and then let every application deal with it > > > on its own? > > > > Alsa-lib can automatically convert this. > > The only remaining question is how to tell alsa-lib about the buffer > layout. Pass SNDRV_PCM_INFO_COMPLEX to hw.info bit flags. Then set up the channel_info via PCM ioctl ops. > AFAIKS, there's not even a single driver that uses MMAP_COMPLEX atm. Right. So far only in alsa-lib plugins. Takashi