[alsa-devel] Driver recovers from underrun in plain ALSA mode, but not in OSS emulation
timur at freescale.com
Sat Mar 1 00:56:43 CET 2008
I'm stress-testing my sound driver using mplayer to see how it handles underrun
during jumps in CPU loads. That is, I start playing a movie, and then I cause
the CPU to jump to 100%, and then I drop the CPU back to normal. During the
times when the CPU is at 100%, I get underruns and other problems. That's normal.
When I tell mplayer to use the ALSA API, my driver recovers nicely from an
underrun situation when the CPU load drops back to normal. However, if I tell
mplayer to use the OSS API (i.e. ALSA's OSS emulation), it does not recover from
an underrun situation. The audio and video playback remains distorted. I need
to tell mplayer to pause and resume to get it to recover.
Is this normal for ALSA drivers? Before I try to debug this problem the hard
way, I want to know if this could be the result of a common programming mistake
in my driver or something like similar.
(FYI, the source code for my driver is in sound/soc/fsl/)
Linux kernel developer at Freescale
More information about the Alsa-devel