The ALSA framework will stop the stream and return the error code EIO when there was no interrupt for ten seconds, i.e., when snd_pcm_period_elapsed() was not called.
I am getting the interrupts, but why there wont be any interrupt for 10 seconds? I am setting the periods in prepare as periods = runtime->period, so interrupts should at period boundaries.
May be s->active got corrupted.
On 6/25/07, Clemens Ladisch cladisch@fastmail.net wrote:
Pharaoh . wrote:
... It waits here for sometime and then I get snd_omap_alsa_trigger starte error: Input/output error
The ALSA framework will stop the stream and return the error code EIO when there was no interrupt for ten seconds, i.e., when snd_pcm_period_elapsed() was not called.
Either s->active got corrupted, or your interrupt handler never got called.
BTW: snd_pcm_period_elapsed() can stop the stream in some situations, so you should move this call to the end of the interrupt handler, or check s->active again after calling it.
HTH Clemens