Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Lee Revell <rlrevell@joe-job.com>
Cc: Alsa-devel@lists.sourceforge.net
Subject: Re: emu10k1 latency / capture period
Date: Mon, 21 Jun 2004 17:35:18 +0200	[thread overview]
Message-ID: <s5h3c4oncuh.wl@alsa2.suse.de> (raw)
In-Reply-To: <1087704381.805.20.camel@debian>

At Sun, 20 Jun 2004 00:06:23 -0400,
Lee Revell wrote:
> 
> [1  <text/plain (7bit)>]
> On Wed, 2004-06-16 at 16:14, Lee Revell wrote:
> > Hey,
> > 
> > I am having a problem with the emu10k1 driver where I am unable to set
> > the capture period lower than 512.  The result is that the lowest
> > achievable input to output latency is in the neighborhood of 40ms.
> > 
> 
> I think I may have solved this problem.  Here is a patch against
> alsa-driver-1.0.5a.
> 
> --- alsa-driver-1.0.5a/alsa-kernel/pci/emu10k1/emupcm.c.orig   
> 2004-06-19 23:21:09.000000000 -0400
> +++ alsa-driver-1.0.5a/alsa-kernel/pci/emu10k1/emupcm.c 2004-06-19
> 23:21:12.000000000 -0400
> @@ -932,7 +932,7 @@
>         spin_unlock_irqrestore(&emu->reg_lock, flags);
>         emu->capture_efx_interrupt = snd_emu10k1_pcm_efx_interrupt;
>         emu->pcm_capture_efx_substream = substream;
> -       snd_pcm_hw_constraint_list(runtime, 0,
> SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_capture_period_sizes);
> +       // snd_pcm_hw_constraint_list(runtime, 0,
> SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_capture_period_sizes);
>         return 0;
>  }
> 
> I do not think that the FX8010 capture device is constrained by the 
> period size limitations on the standard emu10k1 capture device.

Right, this constraint is invalid.
Thanks for pointint out.

> With this patch I can run JACK in capture only mode with the period size
> set as low as 128.  64 gives an error.  This is exactly the expected
> behavior: 128 frames is the lowest setting the kX ASIO driver allows.
> 
> Now, there is one more issue.  For some reason, in the emu10k1 driver, 
> different numbered devices are used for FXBus capture and playback -
> capture is hw:0,2 and playback is hw:0,3.  I don't think JACK supports 
> full duplex mode if the playback and capture devices are different.  
> It seems like these should be part of the same device anyway, they refer
> to the exact same registers.

Yes, it would make more sense.  I'll fix this, too.

Meanwhile, you can use asym plugin for this purpose, e.g. adding the
following to ~/.asoundrc:

	pcm.fx {
		type asym
		playback.pcm "hw:0,3"
		capture.pcm "hw:0,2"
	}

and use the PCM "fx" for jack.

> [2 fxbus_capture_fix.patch <text/x-patch (7bit)>]

What is this patch?


Takashi


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND

  reply	other threads:[~2004-06-21 15:35 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-16 20:14 emu10k1 latency / capture period Lee Revell
2004-06-16 20:52 ` James Courtier-Dutton
2004-06-16 21:02   ` Lee Revell
2004-06-20  4:06 ` Lee Revell
2004-06-21 15:35   ` Takashi Iwai [this message]
2004-06-21 15:54     ` Takashi Iwai
2004-06-21 20:20       ` Lee Revell
2004-06-22 11:13         ` Takashi Iwai
2004-06-22 11:29           ` Jaroslav Kysela
2004-06-22 12:47             ` Takashi Iwai
2004-06-22 21:15               ` Lee Revell
2004-06-28 20:44               ` Lee Revell
2004-06-22 20:26             ` Lee Revell
2004-06-22 18:48           ` Lee Revell
2004-06-21 20:25     ` Lee Revell
2004-07-08  0:40     ` Lee Revell
  -- strict thread matches above, loose matches on Subject: below --
2004-06-17  9:06 Peter Zubaj
2004-06-17 18:37 ` Lee Revell
2004-06-17 23:26   ` Paul Davis
2004-06-18  9:33     ` Takashi Iwai
2004-06-18 19:39       ` Lee Revell
2004-06-18 23:26       ` Lee Revell
2004-06-21  8:03 Peter Zubaj
2004-06-21 15:26 ` Takashi Iwai
2004-06-21 20:27   ` Lee Revell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5h3c4oncuh.wl@alsa2.suse.de \
    --to=tiwai@suse.de \
    --cc=Alsa-devel@lists.sourceforge.net \
    --cc=rlrevell@joe-job.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox