Comment 32 for bug 355846

Revision history for this message
Per Ångström (autark) wrote :

I think I have identified where the problem lies: in the underrun handling of the playback stream. I don't know what causes the underrun, but the recovery mechanism does not have the desired effect, so both capture and playback remain frozen.

In the attached path, which is not of production quality, I call AlsaRestart when a playback underrun is detected. That seems to recover the situation without causing apparent problems but it is probably too blunt to be acceptable as a long-term solution. I am, after all, completely unfamiliar with alsa programming.

The patch also contains some output statements in the affected functions, producing the following console output:

playback xrun
capture xrun
AlsaRestart
playback xrun
capture xrun
AlsaRestart
playback xrun
capture xrun
AlsaRestart
[repeated]