2010/12/13 Clemens Ladisch <clemens@xxxxxxxxxx>
> louis@xxxxxxxxxxxxxxxx wrote:
> > Hi everyone, I'm having some difficulty improving a full-duplex MMAP ALSA
> > routine. ALSA sometimes reports more samples available for input than my
> > buffer can take, or asks for more samples than I have available. Is this
> > a buffer overrun/underrun?
>
> Yes. (And this should happen only when you've disabled stopping on
> an xrun, so you've asked for it. :-)
>
> > If I restart the streams in the case that too
> > much input is available (on the assumption that it's an xrun) it seems to
> > happen at the drop of a hat and makes things worse. If I discard the
> > excess input, that doesn't work well either.
> >
> > What is the appropriate way to deal with this situation?
>
> The best way would be to prevent this situation from happening, i.e.,
> read the captured data from the buffer before it overflows.
>
> (In the case of capturing, latency does _not_ depend on the buffer size,
> so you should make the buffer as big as possible.)
>
>
Refer to http://thread.gmane.org/gmane.linux.alsa.devel/66826/focus=66954
you mention that snd_pcm_forward can be used to recover from an underrun
condition for playback
In underrun/overrun of playback/capture , the hardware pointer is ahead of
the application pointer
Can snd_pcm_forward be used to recover from overrun in capture when
automatic stop is disabled ?
Why does Pulseaudio server request rewind at the end of underrun ?
D: protocol-native.c: Requesting rewind due to *end of underrun*
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
[ALSA User]
[Linux Audio Users]
[Kernel Archive]
[Asterisk PBX]
[Photo Sharing]
[Linux Sound]
[Video 4 Linux]
[Gimp]
[Yosemite News]