From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: emu10k1 latency / capture period Date: Tue, 22 Jun 2004 14:47:56 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: References: <1087416890.25102.21.camel@debian> <1087704381.805.20.camel@debian> <1087849237.8161.38.camel@debian> Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from Cantor.suse.de (cantor.suse.de [195.135.220.2]) by alsa.alsa-project.org (ALSA's E-mail Delivery System) with ESMTP id 2ECFB24D for ; Tue, 22 Jun 2004 14:55:09 +0200 (MEST) Received: from hermes.suse.de (hermes-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (No client certificate requested) by Cantor.suse.de (Postfix) with ESMTP id 725BF778E37 for ; Tue, 22 Jun 2004 14:47:56 +0200 (CEST) In-Reply-To: Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Jaroslav Kysela Cc: ALSA development List-Id: alsa-devel@alsa-project.org At Tue, 22 Jun 2004 13:29:36 +0200 (CEST), Jaroslav wrote: > > On Tue, 22 Jun 2004, Takashi Iwai wrote: > > > At Mon, 21 Jun 2004 16:20:38 -0400, > > Lee Revell wrote: > > > > > > The capture will be driven by the playback interrupts (I think > > > EFX_BUFFER(HALF)FULL). This would look very similar to the > > > interrupt handler example #2 in your ALSA driver guide, which > > > uses timer interrupts to drive the capture/playback, except > > > that for playback, in addition to calling snd_pcm_period_elapsed() > > > on the playback substream, we also maintain a pointer to the > > > corresponding *capture* substream, and call snd_pcm_period_elapsed() > > > on it, manually tracking the frames processed in the same way the timer > > > interrupt example does. > > > > Even if we ignore the capture interrupts and use an additional > > interrupt source (e.g. an extra playback stream), the size of capture > > buffer still must follow the restriction. That is, the minimal > > capture buffer size is still 384 x 2 bytes, although the period size > > can be set independently to smaller than 384 bytes. > > You can do lowlatency even with huge ring buffer, if you have a good > interrupt / scheduling timer, but it requires changes in application. Yes. At least, JACK should work well. Takashi ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com