summaryrefslogtreecommitdiffstats
path: root/libao2/ao_alsa.c
diff options
context:
space:
mode:
authorranma <ranma@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-10-04 15:03:10 +0000
committerranma <ranma@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-10-04 15:03:10 +0000
commit68fa9667ecdc0c23aaa8b346930aeca983045df2 (patch)
tree86e06394312f97abe3349091162e30ae7b04f214 /libao2/ao_alsa.c
parent975e5a97e2afb56e48bf0318ed19f94fb09e2feb (diff)
downloadmpv-68fa9667ecdc0c23aaa8b346930aeca983045df2.tar.bz2
mpv-68fa9667ecdc0c23aaa8b346930aeca983045df2.tar.xz
Make alsa resume after suspend to disk (would say 'file descriptor is in bad state' before this change)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27712 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_alsa.c')
-rw-r--r--libao2/ao_alsa.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c
index 987713e6f9..e5372390f8 100644
--- a/libao2/ao_alsa.c
+++ b/libao2/ao_alsa.c
@@ -765,6 +765,10 @@ static void audio_resume(void)
{
int err;
+ if (snd_pcm_state(alsa_handler) == SND_PCM_STATE_SUSPENDED) {
+ mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_PcmInSuspendModeTryingResume);
+ while ((err = snd_pcm_resume(alsa_handler)) == -EAGAIN) sleep(1);
+ }
if (alsa_can_pause) {
if ((err = snd_pcm_pause(alsa_handler, 0)) < 0)
{