From alsa-devel-owner@alsa.jcu.cz  Fri Nov  6 16:16:55 1998
Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id QAA16556
	for <alsa-devel@jcu.cz>; Fri, 6 Nov 1998 16:14:42 +0100
Received: from someip.ppp.op.net (d-bm3-12.ppp.op.net [209.152.194.82]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id KAA20619 for <alsa-devel@jcu.cz>; Fri, 6 Nov 1998 10:14:36 -0500 (EST)
Message-Id: <199811061514.KAA20619@renoir.op.net>
To: alsa-devel@jcu.cz
Subject: Re: mmap 
In-reply-to: Your message of "Fri, 06 Nov 1998 10:25:37 +0100."
             <Pine.LNX.3.96.981106101642.7908C-100000@entry.jcu.cz> 
Date: Fri, 06 Nov 1998 10:12:52 -0500
From: Paul Barton-Davis <pbd@op.net>
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

>> What are the arguments for and against mmap()?  I would have thought
>> that

>mmap() isn't good thing.. You can only save only one sample copy between
>user and you cannot do things like sample converting for non-standard
>hardware such as SoundBlaster 16, GUS GF1 etc.... Realtime scheduling
>gives good latency for playback and record at current time...
>
>							Jaroslav

Of course, some of us disagree with Jaroslav :)

The minimal reason for my disagreement is a simple one of principle:
given that its possible to provide multiple means of doing data I/O to
a CODEC, there's no particular reason to limit the choice except
available programming time. I use the OSS mmap() interface all the
time with my Turtle Beach Tropez+, because the card supports it, it
works great, and because I use my system as a continuously running
hard disk recorder, typically recording a full 1GB JAZ cartridge every
evening. The idea of doing double copies on 1GB of data when there is
no reason to do so seems absurd to me. In addition, I often have other
RT-FIFO processes running while I do recording, and this tends to
preclude relying on RT scheduling.

Equally absurd, however, would be to assume an mmap() interface. The
read/write interface works as well, and as Jaroslav allows more
flexibility and/or handling of "non-standard" hardware.

Alas, this particular disagreeing individual is too involved in other
sound and MIDI related projects to do anything about it right now.

--p

