Garbled audio, alsa error 32: Broken pipe, Xrun errors

From Rivendell Wiki

Jump to: navigation, search

Contents

Symptoms and environment

  • Garbled audio
  • No realtime kernel
  • ALSA used
  • Ubuntu 8.04
  • Rivendell CVS version (November 2008)
  • Flood of errors in in /var/log/messages:
 caed: *** alsa error 32: Broken pipe
 caed: ****** ALSA Playout Xrun - Card: 0 ******
 caed: ****** ALSA Capture Xrun - Card: 0 ******
 caed: *** alsa error 32: Broken pipe
 caed: ****** ALSA Playout Xrun - Card: 0 ******
 caed: *** alsa error 32: Broken pipe
 caed: ****** ALSA Playout Xrun - Card: 0 ******
 caed: ****** ALSA Capture Xrun - Card: 0 ******
 caed: *** alsa error 32: Broken pipe
 caed: ****** ALSA Playout Xrun - Card: 0 ******
 caed: period size mismatch - wrote 48 
 caed: ****** ALSA Playout Xrun - Card: 0 ******
 caed: *** alsa error 32: Broken pipe
 caed: ****** ALSA Playout Xrun - Card: 0 ******
 caed: ****** ALSA Capture Xrun - Card: 0 ******
 caed: period size mismatch - wrote 8 

Cause

Default buffer sizes for ALSA are too small in a standard kernel.

Quote:

 An overrun (also called xrun) occurs when the application doesn't read the
 opened audio device (i.e. "/dev/dsp") for a short time, causing the input
 buffer of the driver to run full.

Workaround

  • Increase the ALSA buffer in /etc/rd.conf. Add the section:
 [Alsa]
 ; ALSA Parameters
 ; (It should seldom be necessary to tweak these)
 PeriodQuantity=4
 PeriodSize=1024

(Defaults are PeriodQuantity=2, PeriodSize=1024)

  • Restart rivendell

This solved the problem for me.. Note that increasing buffers may increase the latency; but audio is okay again.

More Information

For more info also see Wiki page: Fine tuning ALSA for your sound card

Personal tools