[alsa-devel] need help understanding overrun/underrun

Harsha, Priya priya.harsha at intel.com
Tue Aug 24 12:53:08 CEST 2010


> -----Original Message-----
> From: Jaroslav Kysela [mailto:perex at perex.cz]
> Sent: Friday, August 20, 2010 3:20 PM
> To: Harsha, Priya
> Cc: alsa-devel at alsa-project.org
> Subject: Re: [alsa-devel] need help understanding overrun/underrun
> 
> On Fri, 20 Aug 2010, Harsha, Priya wrote:
> 
> > Hi
> >
> > I had modified the arecord application to call snd_pcm_writei() with the
> > output of snd_pcm_readi(). Basically a loopback.
> >
> > When we execute, I see the calls return EPIPE (lot of overruns and a few
> > underruns). Can anyone help me understand why there are underrun/overrun
> > being printed? Is it because of the serial call of reads and writes? Is
> > there any issue with the driver I am using? Can you suggest some ways to
> > overcome these messages?
> 
> You must queue playback with more samples at the beginning (to
> setup the output latency) otherwise you get the output underrun
> immediatelly. See alsa-lib/test/latency.c for an example.
If I do that, initially I don't see underrun. But I see a lot of overrun.
I am doing readi() followed by writei() in a loop of small buffer sizes,
Is that an expected behavior to see such overrun?

> 
>  					Jaroslav
> 
> -----
> Jaroslav Kysela <perex at perex.cz>
> Linux Kernel Sound Maintainer
> ALSA Project, Red Hat, Inc.



More information about the Alsa-devel mailing list