What is the PulseAudio underrun bug?

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Fri Sep 9 05:49:37 CDT 2011

Hi again,

Something that I still have trouble understanding is:

Why did I find out only 2 weeks ago that Ubuntu Lucid is affected?
  Perhaps because I'm mostly using Intrepid which works better as far
  as the dreaded Intel Xorg screen flicker, suspend/resume and audio
  are concerned.

Why do the Wine users only observe random drop outs after some time?
Why does it look like the new mmdevapi code accentuated the problem (does it?)?

  Perhaps because most apps use dsound and dsound does efforts to send
  a continuous stream of data to the audio device, without underruns.
  Likewise, MCIWAVE/MCIAVI/winmm:PlaySound send data in a tight loop.

  Perhaps because the current GetPosition in both mmdevapi and winmm
  is not trustworthy and may cause underruns when a sound ends?

  Perhaps because "underrun at end" is almost designed into winmm?
  (unless you end with waveOutReset)

  Also, there may be more than underruns which is broken in PA.
  Underruns do not explain why I sometimes need to restart the PA
  server, as mentioned in my prior point 4.

Do underruns really happen on my xGHz machine?

  On my Ubuntu Lucid system, the dreaded Intel XOrg screen flicker is
  enough to cause some apps running at that time to lose audio.

  Moving from one virtual desktop or screen to another may cause paging.

  That's no proof, but underruns may happen more often than one would
  like.  Apps must robustly handle them.

	Jörg Höhle

More information about the wine-devel mailing list