From: Raymond Yau <superquad.vortex2@gmail.com>
To: ALSA Development Mailing List <alsa-devel@alsa-project.org>
Subject: Re: alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 675220 bytes (3827 ms).
Date: Wed, 26 Jan 2011 11:36:18 +0800 [thread overview]
Message-ID: <AANLkTi=g7MMYDKg14bcCSuLt+2oRAwqOYX8=DKTtJ61e@mail.gmail.com> (raw)
In-Reply-To: <4D393FA6.8050805@san.ru>
2011/1/21 support <support@san.ru>
>
>
> alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large:
> 675220 bytes (3827 ms).
> alsa-util.c: Most likely this is a bug in the ALSA driver 'snd_emu10k1'.
> Please report this issue to the ALSA developers.
>
>
>
> http://www.alsa-project.org/db/?f=641d9cb90af2e47e527c2912bee4e34bff41b87b
>
> # rpm -qa | grep alsa
> alsa-lib-devel-1.0.23-2.fc14.i686
> alsa-plugins-pulseaudio-1.0.22-1.fc13.i686
> alsa-utils-1.0.23-3.fc14.i686
> alsa-lib-1.0.23-2.fc14.i686
>
> # uname -a
> Linux wp.san.ru 2.6.35.10-74.fc14.i686 #1 SMP Thu Dec 23 16:17:40 UTC 2010
> i686 i686 i386 GNU/Linux
>
>
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: Slave: Hardware PCM
card 0 'SB Live! [Unknown]' device
0 subdevice 0
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: Its setup is:
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: stream : PLAYBACK
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: access :
MMAP_INTERLEAVED
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: format : S16_LE
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: subformat : STD
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: channels : 2
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: rate : 44100
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: exact rate :
44100 (44100/1)
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: msbits : 16
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: buffer_size : 16384
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: period_size : 16384
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: period_time : 371519
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: tstamp_mode : ENABLE
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: period_step : 1
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: avail_min : 16384
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: period_event : 0
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: start_threshold : -1
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: stop_threshold :
1073741824
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: silence_threshold: 0
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: silence_size : 0
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: boundary : 1073741824
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: appl_ptr : 978195372
Jan 21 10:55:20 wp pulseaudio[2393]: alsa-util.c: hw_ptr : 978317001
hwptr 978317001 is ahead of appl_ptr 978195372 indicate xrun occur in PA
server since PA server set stop_threshold to boundary
http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___s_w___params.html
PCM is automatically stopped in SND_PCM_STATE_XRUN state when available
frames is >= threshold. If the stop threshold is equal to boundary (also
software parameter - sw_param) then automatic stop will be disabled (thus
device will do the endless loop in the ring buffer).
(978317001 - 978195372) > 5 * hw_bufsize
only hda driver has 2 second buffers pa_bytes_per_second(ss)*10 is as same
as 5 * hwbuf_size
since buffer size 16384 at 44100Hz of emu10k1 and other sound cards are only
371ms , 5 x 371ms is only 1.5 seconds
you should ask the two PA developers why they add these condition since
avail > hw_bufsize is already xrun,
http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff;h=07333f8cae480a25af02ad32286ab38d4272698e;hp=dc1ad08a65302c537d607f29be51a0c64cddec7c
if (k >= hwbuf_size * 3 ||
k >= pa_bytes_per_second(ss)*10)
http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff;h=ec9f8f10f358ededa1dec0e3f7f57669fce58547;hp=9eb50701b6a6e8e5b74236bc954e94097eb7e680
- if (k >= hwbuf_size * 3 ||
- k >= pa_bytes_per_second(ss)*10)
+ if (k >= hwbuf_size * 5 ||
+ k >= pa_bytes_per_second(ss)*10) {
http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff;h=557a90c487a5b681af6c01309fee89bd203b09c6;hp=5cc9d970c83791f5b71b558c438587d5872449f0
if (k >= hwbuf_size * 3 ||
k >= pa_bytes_per_second(ss)*10)
http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff;h=f29acfd0e0413a9bd126782763ee2dcf10357546;hp=b0042cec71ffb09d3720fdcc4223de8153fed67a
if (abs_k >= hwbuf_size * 5 ||
abs_k >= pa_bytes_per_second(ss)*10) {
if you grep -ir "buffer_bytes_max" , you should notice that only a few sound
drivers have a buffer size of 2 seconds
aoa/soundbus/i2sbus/pcm.c: hw->buffer_bytes_max = 131072;
arm/aaci.c: .buffer_bytes_max = 64 * 1024,
arm/pxa2xx-pcm-lib.c: .buffer_bytes_max = 128 * 1024,
atmel/ac97c.c: .buffer_bytes_max = 2 * 2 * 64 * 2048,
atmel/abdac.c: .buffer_bytes_max = 64 * 4096,
drivers/ml403-ac97cr.c: .buffer_bytes_max = (128*1024),
drivers/vx/vx_pcm.c: .buffer_bytes_max = (128*1024),
drivers/pcsp/pcsp_lib.c: .buffer_bytes_max = PCSP_BUFFER_SIZE,
isa/ad1816a/ad1816a_lib.c: .buffer_bytes_max = (128*1024),
isa/es1688/es1688_lib.c: .buffer_bytes_max = 65536,
isa/wss/wss_lib.c: .buffer_bytes_max = (128*1024),
isa/gus/gus_pcm.c: .buffer_bytes_max = (128*1024),
isa/sb/sb8_main.c: .buffer_bytes_max = 65536,
isa/sb/sb8_main.c: runtime->hw.buffer_bytes_max = 128 * 1024 * 1024;
isa/sb/emu8000_pcm.c: .buffer_bytes_max = (128*1024),
isa/sb/sb16_main.c: .buffer_bytes_max = (128*1024),
isa/sb/sb16_main.c: runtime->hw.buffer_bytes_max = 32 * 1024;
isa/msnd/msnd.c: .buffer_bytes_max = 0x3000,
isa/es18xx.c: .buffer_bytes_max = 65536,
mips/sgio2audio.c: .buffer_bytes_max = 65536,
mips/hal2.c: .buffer_bytes_max = 65536,
mips/au1x00.c: .buffer_bytes_max = 128*1024,
parisc/harmony.c: .buffer_bytes_max = MAX_BUF_SIZE,
pci/cs5535audio/cs5535audio_pcm.c: .buffer_bytes_max = (128*1024),
pci/nm256/nm256.c: .buffer_bytes_max = 128 * 1024,
pci/bt87x.c: .buffer_bytes_max = 255 * 4092,
pci/ctxfi/ctpcm.c: .buffer_bytes_max = (128*1024),
pci/ca0106/ca0106_main.c: .buffer_bytes_max = ((65536 - 64) * 8),
pci/ca0106/ca0106_main.c: .buffer_bytes_max = 65536 - 128,
pci/rme32.c: .buffer_bytes_max = RME32_BUFFER_SIZE,
pci/rme32.c: .buffer_bytes_max = RME32_MID_BUFFER_SIZE,
pci/aw2/aw2-alsa.c: .buffer_bytes_max = 32768,
pci/rme96.c: .buffer_bytes_max = RME96_BUFFER_SIZE,
pci/azt3328.c: .buffer_bytes_max = 65536,
pci/cmipci.c: .buffer_bytes_max = (128*1024),
pci/als300.c: .buffer_bytes_max = 64 * 1024,
pci/sonicvibes.c: .buffer_bytes_max = (128*1024),
pci/sis7019.c: .buffer_bytes_max = (0xfff9 * 4),
pci/ymfpci/ymfpci_main.c: .buffer_bytes_max = 256 * 1024, /* FIXME:
enough? */
pci/hda/hda_intel.c: .buffer_bytes_max = AZX_MAX_BUF_SIZE,
pci/via82xx.c: .buffer_bytes_max = VIA_MAX_BUFSIZE,
pci/es1938.c: .buffer_bytes_max = 0x8000, /* DMA controller
screws on higher values */
pci/cs46xx/cs46xx_lib.c: .buffer_bytes_max = (256 * 1024),
pci/cs4281.c: .buffer_bytes_max = (512*1024),
pci/lx6464es/lx6464es.c: .buffer_bytes_max =
64*2*3*MICROBLAZE_IBL_MAX*MAX_STREAM_BUFFER,
pci/korg1212/korg1212.c: .buffer_bytes_max = K1212_MAX_BUF_SIZE,
pci/als4000.c: .buffer_bytes_max = 65536,
pci/ad1889.c: .buffer_bytes_max = BUFFER_BYTES_MAX,
pci/pcxhr/pcxhr.c: .buffer_bytes_max = (32*1024),
pci/rme9652/rme9652.c: .buffer_bytes_max =
RME9652_CHANNEL_BUFFER_BYTES * 26,
pci/rme9652/hdsp.c: .buffer_bytes_max = HDSP_CHANNEL_BUFFER_BYTES *
HDSP_MAX_CHANNELS,
pci/ens1370.c: .buffer_bytes_max = (128*1024),
pci/trident/trident_main.c: .buffer_bytes_max = (128*1024),
pci/oxygen/oxygen_pcm.c:#define BUFFER_BYTES_MAX ((1 << 16) * 4)
pci/oxygen/oxygen_pcm.c:#define BUFFER_BYTES_MAX_MULTICH ((1 << 24) * 4)
pci/oxygen/oxygen_pcm.c:#define DEFAULT_BUFFER_BYTES
(BUFFER_BYTES_MAX / 2)
pci/intel8x0.c: .buffer_bytes_max = 128 * 1024,
pci/intel8x0.c: runtime->hw.buffer_bytes_max = 64*1024;
pci/es1968.c: .buffer_bytes_max = 65536,
pci/ad1889.h:#define BUFFER_BYTES_MAX (256 * 1024)
pci/fm801.c: .buffer_bytes_max = (128*1024),
pci/atiixp.c: .buffer_bytes_max = 256 * 1024,
pci/au88x0/au88x0_pcm.c: .buffer_bytes_max = 0x10000,
pci/echoaudio/echo3g.c: .buffer_bytes_max = 262144,
pci/echoaudio/indigoiox.c: .buffer_bytes_max = 262144,
pci/echoaudio/layla20.c: .buffer_bytes_max = 262144,
pci/echoaudio/mia.c: .buffer_bytes_max = 262144,
pci/echoaudio/darla20.c: .buffer_bytes_max = 262144,
pci/echoaudio/indigodjx.c: .buffer_bytes_max = 262144,
pci/echoaudio/indigo.c: .buffer_bytes_max = 262144,
pci/echoaudio/layla24.c: .buffer_bytes_max = 262144,
pci/echoaudio/mona.c: .buffer_bytes_max = 262144,
pci/echoaudio/gina24.c: .buffer_bytes_max = 262144,
pci/echoaudio/indigoio.c: .buffer_bytes_max = 262144,
pci/echoaudio/darla24.c: .buffer_bytes_max = 262144,
pci/echoaudio/indigodj.c: .buffer_bytes_max = 262144,
pci/riptide/riptide.c: .buffer_bytes_max = (64 * 1024),
pci/emu10k1/emu10k1x.c: .buffer_bytes_max = (32*1024),
pci/emu10k1/p16v.c: .buffer_bytes_max = ((65536 - 64) * 8),
pci/emu10k1/p16v.c: .buffer_bytes_max = (65536 - 64),
pci/emu10k1/emupcm.c: .buffer_bytes_max = (64*1024),
pci/emu10k1/emupcm.c: .buffer_bytes_max = (128*1024),
pci/ice1712/ice1712.c: .buffer_bytes_max = (64*1024),
pci/ice1712/ice1712.c: .buffer_bytes_max = (128*1024),
pci/ice1712/ice1712.c: .buffer_bytes_max = (256*1024),
pci/ice1712/ice1724.c: .buffer_bytes_max = (1UL << 21), /* 19bits
dword */
pci/ice1712/ice1724.c: .buffer_bytes_max = (1UL << 18), /* 16bits
dword */
pci/ali5451/ali5451.c: .buffer_bytes_max = (256*1024),
pci/ali5451/ali5451.c: .buffer_bytes_max = (128*1024),
pci/maestro3.c: .buffer_bytes_max = (512*1024),
pci/mixart/mixart.c: .buffer_bytes_max = (32*1024),
pcmcia/pdaudiocf/pdaudiocf_pcm.c: .buffer_bytes_max = (512*1024),
ppc/snd_ps3.c: .buffer_bytes_max = PS3_AUDIO_FIFO_SIZE * 64,
ppc/pmac.c: .buffer_bytes_max = 131072,
sh/sh_dac_audio.c: .buffer_bytes_max = (48*1024),
sh/aica.c: .buffer_bytes_max = AICA_BUFFER_SIZE,
soc/soc-core.c: runtime->hw.buffer_bytes_max = hw->buffer_bytes_max;
soc/au1x/dbdma2.c: .buffer_bytes_max = 4096 * 1024 - 1,
soc/s3c24xx/s3c-dma.c: .buffer_bytes_max = 128*1024,
soc/omap/omap-pcm.c: .buffer_bytes_max = 128 * 1024,
soc/txx9/txx9aclc.c: .buffer_bytes_max = 32 * 1024,
soc/sh/siu.h:#define SIU_BUFFER_BYTES_MAX (SIU_PERIOD_BYTES_MAX *
SIU_PERIODS_MAX)
soc/sh/siu_dai.c: .buffer_bytes_max = SIU_BUFFER_BYTES_MAX,
soc/sh/fsi.c: .buffer_bytes_max = 64 * 1024,
soc/sh/dma-sh7760.c: .buffer_bytes_max = DMABRG_PERIOD_MAX,
soc/davinci/davinci-pcm.c: .buffer_bytes_max = 128 * 1024,
soc/atmel/atmel-pcm.c: .buffer_bytes_max = 32 * 1024,
soc/fsl/mpc5200_dma.c: .buffer_bytes_max = 2 * 1024 * 1024,
soc/fsl/fsl_dma.c: .buffer_bytes_max = 128 * 1024, /* A
reasonable limit */
soc/blackfin/bf5xx-i2s-pcm.c: .buffer_bytes_max = 0x20000, /* 128
kbytes */
soc/blackfin/bf5xx-ac97-pcm.c: .buffer_bytes_max = 0x20000, /* 128
kbytes */
soc/blackfin/bf5xx-tdm-pcm.c: .buffer_bytes_max = PCM_BUFFER_MAX,
soc/imx/imx-pcm-dma-mx2.c: .buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
soc/imx/imx-pcm-fiq.c: .buffer_bytes_max = IMX_SSI_DMABUF_SIZE,
soc/s6000/s6000-pcm.c: .buffer_bytes_max = 0x7ffffff0,
sparc/amd7930.c: .buffer_bytes_max = (64*1024),
sparc/dbri.c: .buffer_bytes_max = 64 * 1024,
sparc/cs4231.c: .buffer_bytes_max = 32 * 1024,
spi/at73c213.c: .buffer_bytes_max = 64 * 1024 - 1,
usb/pcm.c: .buffer_bytes_max = 1024 * 1024,
usb/misc/ua101.c: substream->runtime->hw.buffer_bytes_max = 45000 * 1024;
usb/caiaq/audio.c: .buffer_bytes_max = MAX_BUFFER_SIZE,
usb/usx2y/usx2yhwdeppcm.c: .buffer_bytes_max = (2*128*1024),
prev parent reply other threads:[~2011-01-26 3:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-21 8:11 alsa-util.c: snd_pcm_avail() returned a value that is exceptionally large: 675220 bytes (3827 ms) support
2011-01-25 13:26 ` Raymond Yau
2011-01-26 3:36 ` Raymond Yau [this message]
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='AANLkTi=g7MMYDKg14bcCSuLt+2oRAwqOYX8=DKTtJ61e@mail.gmail.com' \
--to=superquad.vortex2@gmail.com \
--cc=alsa-devel@alsa-project.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.