Use python-mpv-jsonipc's mpv quit handler
This commit is contained in:
parent
532a991692
commit
22e6230231
@ -588,12 +588,11 @@ class MpvPlayer(BasePlayer):
|
|||||||
if pythonPath is not None:
|
if pythonPath is not None:
|
||||||
env['PATH'] = '/usr/bin:/usr/local/bin'
|
env['PATH'] = '/usr/bin:/usr/local/bin'
|
||||||
env['PYTHONPATH'] = pythonPath
|
env['PYTHONPATH'] = pythonPath
|
||||||
self.mpvpipe = MPV(mpv_location=self.playerPath, loglevel="info", log_handler=self.__playerController.mpv_log_handler, **self.mpv_arguments)
|
self.mpvpipe = MPV(mpv_location=self.playerPath, loglevel="info", log_handler=self.__playerController.mpv_log_handler, quit_callback=self.stop_client, **self.mpv_arguments)
|
||||||
self.__process = self.mpvpipe
|
self.__process = self.mpvpipe
|
||||||
#self.mpvpipe.show_text("HELLO WORLD!", 1000)
|
#self.mpvpipe.show_text("HELLO WORLD!", 1000)
|
||||||
threading.Thread.__init__(self, name="MPV Listener")
|
threading.Thread.__init__(self, name="MPV Listener")
|
||||||
|
|
||||||
|
|
||||||
def __getCwd(self, filePath, env):
|
def __getCwd(self, filePath, env):
|
||||||
if not filePath:
|
if not filePath:
|
||||||
return None
|
return None
|
||||||
@ -695,6 +694,15 @@ class MpvPlayer(BasePlayer):
|
|||||||
except IndexError:
|
except IndexError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def stop_client(self):
|
||||||
|
self.readyToSend = False
|
||||||
|
try:
|
||||||
|
self.mpvpipe.terminate()
|
||||||
|
except: #When mpv is already closed
|
||||||
|
pass
|
||||||
|
self.__playerController._takeLocksDown()
|
||||||
|
self.__playerController.reactor.callFromThread(self.__playerController._client.stop, False)
|
||||||
|
|
||||||
def actuallySendLine(self, line):
|
def actuallySendLine(self, line):
|
||||||
try:
|
try:
|
||||||
self.__playerController._client.ui.showDebugMessage("player >> {}".format(line))
|
self.__playerController._client.ui.showDebugMessage("player >> {}".format(line))
|
||||||
@ -702,8 +710,6 @@ class MpvPlayer(BasePlayer):
|
|||||||
self.mpvpipe.command(*line)
|
self.mpvpipe.command(*line)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.__playerController._client.ui.showDebugMessage("CANNOT SEND {} DUE TO {}".format(line, e))
|
self.__playerController._client.ui.showDebugMessage("CANNOT SEND {} DUE TO {}".format(line, e))
|
||||||
self.mpvpipe.terminate()
|
self.stop_client()
|
||||||
self.__playerController._takeLocksDown()
|
|
||||||
self.__playerController.reactor.callFromThread(self.__playerController._client.stop, False)
|
|
||||||
except IOError:
|
except IOError:
|
||||||
pass
|
pass
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user