From 7cb17e6e8d146bdf431e05924287aee32ed538ee Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 7 Jan 2011 21:42:24 +0900 Subject: [PATCH] restart mplayer if it's died --- anki/sound.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/anki/sound.py b/anki/sound.py index b03b4a089..9d768ee21 100644 --- a/anki/sound.py +++ b/anki/sound.py @@ -157,7 +157,14 @@ class MplayerMonitor(threading.Thread): else: extra = " 1" cmd = 'loadfile "%s"%s\n' % (item, extra) - self.mplayer.stdin.write(cmd) + try: + self.mplayer.stdin.write(cmd) + except: + # mplayer has quit and needs restarting + self.deadPlayers.append(self.mplayer) + self.mplayer = None + self.startProcess() + self.mplayer.stdin.write(cmd) # wait() on finished processes. we don't want to block on the # wait, so we keep trying each time we're reactivated def clean(pl):