From owner-freebsd-multimedia Thu Jul 24 07:05:12 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id HAA29744 for multimedia-outgoing; Thu, 24 Jul 1997 07:05:12 -0700 (PDT) Received: from internet.milkyway.com (milkyway.com [198.53.167.2]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id HAA29739 for ; Thu, 24 Jul 1997 07:05:07 -0700 (PDT) Received: id JAA00704; Thu, 24 Jul 1997 09:55:02 -0400 Received: by gateway id JAA00742 for ; Thu, 24 Jul 1997 09:22:09 -0400 Received: by gateway id AA09874; Thu, 24 Jul 97 09:25:58 EDT Message-Id: <19970724092558.31924@milkyway.com> Date: Thu, 24 Jul 1997 09:25:58 -0400 From: Brian Campbell To: freebsd-multimedia@FreeBSD.ORG Subject: Re: dma handling in the sound driver References: <19970723232432.47587@ct.picker.com> <199707240508.HAA25745@labinfo.iet.unipi.it> <19970724064335.01827@ct.picker.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.76 In-Reply-To: <19970724064335.01827@ct.picker.com>; from Randall Hopper on Thu, Jul 24, 1997 at 06:43:35AM -0400 Sender: owner-freebsd-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Thu, Jul 24, 1997 at 06:43:35AM -0400, Randall Hopper wrote: > Luigi Rizzo: > |Randall Hopper: > |> Ok. Well, the only commercial app I have this info for is the MpegTV's > |> Linux mtv, since I buzzed it out when debugging the no-audio problem > |> (before dumping it for the FreeBSD version). Here's the /dev/dsp ioctls it > |> uses: > | > |Thanks for the detailed list. > | > |I am looking at the DSP_SETFRAGMENT thing, and while I have no problem > |to implement it with the required features, it sounds quite odd that > |the application requires many small buffers. If they are small it means > |the app wants low latency, so why ask for many ? > > Small buffers gets it low latency on write()s. Many buffers minimizes the > chance that the driver will have played everything by the time that it gets > around to feeding it again. In addition, many small buffers allow applications do occasional large write()s and not have to worry about waiting for several buffers to empty before the write() can return.