3 Mar
2010
3 Mar
'10
2:59 p.m.
On Wed, 3 Mar 2010, John Lindgren wrote:
Confirmed, that fixes the hangup. A minor issue remains that snd_pcm_writei still always returns -EIO or -EBADFD in this situation.
I don't see a problem here. If transfer is stopped, the pcm handle is not initialized for I/O transactions, thus upper layers return these errors.
Your application should check snd_pcm_state() in case of error and look if stream is inactive (back in SND_PCM_STATE_SETUP), because your application invoked the drop() call.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.