Recover stream when it's suspended upon rewind
commit34f31f666e2a2c301e0735e48e48da44ff503acc
authorLubomir Rintel <lkundrak@v3.sk>
Sun, 2 Aug 2009 15:52:05 +0000 (2 17:52 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 3 Aug 2009 20:47:15 +0000 (3 22:47 +0200)
tree70a131739de4eb99201e44cb9a1e8181512f39a3
parent277822053c2f070940e5a996b9a6d95645d74590
Recover stream when it's suspended upon rewind

Error from snd_pcm_rewind() might mean we just woke up from suspend and
didn't have a chance to try to recover the stream since we didn't write
to it in between. Call try_recover() in such cases.

Note that for this to work kernel must return ESTRPIPE instead of EBADF
for rewind/forward attempts on suspended streams, so that
snd_pcm_recover() can recognize it should snd_pcm_resume() the stream.
This is not the case yet (2.6.31-rc5), patch is available.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
src/modules/alsa/alsa-sink.c