public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Russ Garrett <rg@tcslon.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Audio skipping with alsa
Date: Wed, 10 Sep 2003 15:23:48 +0200	[thread overview]
Message-ID: <s5hk78gvkt7.wl@alsa2.suse.de> (raw)
In-Reply-To: <1063116861.852.50.camel@russell>

At Tue, 09 Sep 2003 15:14:21 +0100,
Russ Garrett wrote:
> 
> Hi, I've just installed an M-Audio Audiophile 2496 sound card (Envy24)
> with the 2.6.0-test5 kernel (with the preemptible kernel option on),
> using the ice1712 alsa driver (although this also happens in 2.4.21
> without preemptible kernel).
> 
> Music plays fine until I do *anything* - changing windows, scrolling,
> pressing buttons, whatever - when it stutters badly. Scrolling in an
> anti-aliased terminal is especially fun. However, if I play using XMMS
> with the realtime priority option, everything's fine, although that has
> the distinct disadvantage that I have to run it as root.
> 
> I've tried enabling/disabling ACPI/APM/APIC. The card isn't sharing an
> IRQ with anything.  It's not a hard drive/IDE related issue, although
> that's all using DMA anyway. 
> 
> I do have both an AGP and a PCI graphics card installed and in use,
> although the stuttering happens if I do anything on either. I've found a
> few references to this problem on google, but no solutions. It works
> fine on Windows ;).
> 
> Here's what happens if I try to scroll in gnome-terminal whilst aplaying
> something:
> 
> rg@russell:~$ aplay < test
> Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
> xrun!!! (at least 869.990 ms long)
> xrun!!! (at least 21.552 ms long)
> xrun!!! (at least 17.686 ms long)
> xrun!!! (at least 16.482 ms long)
> xrun!!! (at least 17.194 ms long)
> xrun!!! (at least 17.126 ms long)
> xrun!!! (at least 14.123 ms long)
> xrun!!! (at least 13.679 ms long)
> xrun!!! (at least 12.928 ms long)
> [...and so on, for another 20 or so lines]

i guess it's a general scheduler issue.

why you face this problem more severly than others:
the timing on the ice1712 (envy24) chip is quite tight, because it
always needs 32bit * 10 channels interleaved samples even if you want
to play a two-channel mp3 file.  more badly, the maximum buffer size
is limited to 64k byte.  hence, at most, you can get about 0.1 sec for
the hardware buffer.  if the task switching to the audio thread cannot
be done in 0.1 sec, you'll get audio drop outs.

the recent scheduler patch might help...

--
Takashi Iwai <tiwai@suse.de>		SuSE Linux AG - www.suse.de
ALSA Developer				ALSA Project - www.alsa-project.org

  reply	other threads:[~2003-09-10 13:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-09 14:14 Audio skipping with alsa Russ Garrett
2003-09-10 13:23 ` Takashi Iwai [this message]
2003-09-10 13:38   ` Jaroslav Kysela
2003-09-10 13:45     ` Takashi Iwai
2003-09-10 14:45       ` Richard B. Johnson
2003-09-10 15:28         ` Con Kolivas
2003-09-10 15:43         ` Takashi Iwai
2003-09-10 17:47         ` Russ Garrett
2003-09-10 18:16           ` Chris Meadors
2003-09-10 18:27             ` Takashi Iwai

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=s5hk78gvkt7.wl@alsa2.suse.de \
    --to=tiwai@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rg@tcslon.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