Garbled audio, alsa error 32: Broken pipe, Xrun errors
From Rivendell Wiki
Revision as of 15:39, 12 March 2018 by Higgles (Talk | contribs) (Created page with "== 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/message...")
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