From 5a99bb312322aa5a4b7dfdfdae69c9cee2e6e339 Mon Sep 17 00:00:00 2001 From: Johan Kiviniemi Date: Mon, 6 Jan 2014 21:25:29 +0200 Subject: [PATCH] players/mplayer: Unset TERM to avoid escape sequences At least mpv may output escape sequences which result in syncplay trying to parse something like "\x1b[?1l\x1b>ANS_filename=blah.mkv". Work around this by unsetting TERM. --- syncplay/players/mplayer.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/syncplay/players/mplayer.py b/syncplay/players/mplayer.py index 65007ed..e3c5d6d 100644 --- a/syncplay/players/mplayer.py +++ b/syncplay/players/mplayer.py @@ -206,7 +206,14 @@ class MplayerPlayer(BasePlayer): call.extend(playerController.SLAVE_ARGS) if(args): call.extend(args) - self.__process = subprocess.Popen(call, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, cwd = os.path.dirname(playerPath)) + # At least mpv may output escape sequences which result in syncplay + # trying to parse something like + # "\x1b[?1l\x1b>ANS_filename=blah.mkv". Work around this by + # unsetting TERM. + env = os.environ.copy() + if 'TERM' in env: + del env['TERM'] + self.__process = subprocess.Popen(call, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE, cwd=os.path.dirname(playerPath), env=env) threading.Thread.__init__(self, name="MPlayer Listener") def run(self):