set rpath for bundled mplayer on linux

This commit is contained in:
Damien Elmes 2016-06-29 14:21:48 +10:00
parent eb3208e1e7
commit 2c227da603

View file

@ -62,13 +62,14 @@ def retryWait(proc):
# Mplayer settings # Mplayer settings
########################################################################## ##########################################################################
exeDir = os.path.dirname(os.path.abspath(sys.argv[0]))
if isWin: if isWin:
os.environ['PATH'] += ";" + exeDir
mplayerCmd = ["mplayer.exe", "-ao", "win32"] mplayerCmd = ["mplayer.exe", "-ao", "win32"]
dir = os.path.dirname(os.path.abspath(sys.argv[0]))
os.environ['PATH'] += ";" + dir
os.environ['PATH'] += ";" + dir + "\\..\\win\\top" # for testing
else: else:
os.environ['PATH'] += ":" + exeDir
mplayerCmd = ["mplayer"] mplayerCmd = ["mplayer"]
mplayerCmd += ["-really-quiet", "-noautosub"] mplayerCmd += ["-really-quiet", "-noautosub"]
# Mplayer in slave mode # Mplayer in slave mode
@ -147,10 +148,13 @@ class MplayerMonitor(threading.Thread):
def startProcess(self): def startProcess(self):
try: try:
cmd = mplayerCmd + ["-slave", "-idle"] cmd = mplayerCmd + ["-slave", "-idle"]
env = os.environ.copy()
if not isWin and not isMac:
env["LD_LIBRARY_PATH"]=exeDir
self.mplayer = subprocess.Popen( self.mplayer = subprocess.Popen(
cmd, startupinfo=si, stdin=subprocess.PIPE, cmd, startupinfo=si, stdin=subprocess.PIPE,
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL,
universal_newlines=True, bufsize=1) universal_newlines=True, bufsize=1, env=env)
except OSError: except OSError:
mplayerEvt.clear() mplayerEvt.clear()
raise Exception("Did you install mplayer?") raise Exception("Did you install mplayer?")