[alsa-devel] Buffer underrun in a not empty playback buffer

Christian Gruber christian.gruber at voiceinterconnect.de
Wed Jul 25 08:33:05 CEST 2012

I had a problem with an ALSA-driver, which causes an underrun in the playback stream 
before the playback buffer was completely empty (snd_pcm_avail() < playback buffer size). 
The driver developer told me, that this is correct, since for correct DMA transfer a 
minimum buffer filling level is required.

Is this an allowed ALSA-driver behaviour or does the ALSA-driver developer has to hide all 
DMA internals to the application developer so that an underrun just occurs, when the 
playback buffer is empty? If yes, how can I get to know about the required minimum buffer 
filling level before an underrun occurs?


Dipl.-Ing. Christian Gruber
voiceINTERconnect GmbH
Ammonstraße 35
01067 Dresden

Tel.:   +49 (0) 351 - 407 526 67
Fax.:   +49 (0) 351 - 407 526 55
... smart signal processing for electronic devices

Geschäftsführung:               Eingetragen im Handelsregister:
Dr.-Ing. Diane Hirschfeld,      Amtsgericht Dresden HRB 19466
Ludwig Linkenheil

More information about the Alsa-devel mailing list