Add cookie support to all player modules.
This commit is contained in:
parent
5dc2ca0da8
commit
16d53345a9
@ -6,7 +6,7 @@ class BasePlayer(object):
|
|||||||
execute updatePlayerStatus(paused, position) on client
|
execute updatePlayerStatus(paused, position) on client
|
||||||
Given the arguments: boolean paused and float position in seconds
|
Given the arguments: boolean paused and float position in seconds
|
||||||
'''
|
'''
|
||||||
def askForStatus(self):
|
def askForStatus(self, cookie=None):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|||||||
@ -420,20 +420,22 @@ class MPCHCAPIPlayer(BasePlayer):
|
|||||||
return self._mpcApi.lastFilePosition
|
return self._mpcApi.lastFilePosition
|
||||||
|
|
||||||
@retry(MpcHcApi.PlayerNotReadyException, constants.MPC_MAX_RETRIES, constants.MPC_RETRY_WAIT_TIME, 1)
|
@retry(MpcHcApi.PlayerNotReadyException, constants.MPC_MAX_RETRIES, constants.MPC_RETRY_WAIT_TIME, 1)
|
||||||
def askForStatus(self):
|
def askForStatus(self, cookie=None):
|
||||||
if self._mpcApi.filePlaying and self.__preventAsking.wait(0) and self.__fileUpdate.acquire(0):
|
if self._mpcApi.filePlaying and self.__preventAsking.wait(0) and self.__fileUpdate.acquire(0):
|
||||||
self.__fileUpdate.release()
|
self.__fileUpdate.release()
|
||||||
position = self.__getPosition()
|
position = self.__getPosition()
|
||||||
paused = self._mpcApi.isPaused()
|
paused = self._mpcApi.isPaused()
|
||||||
position = float(position)
|
position = float(position)
|
||||||
if self.__preventAsking.wait(0) and self.__fileUpdate.acquire(0):
|
if self.__preventAsking.wait(0) and self.__fileUpdate.acquire(0):
|
||||||
self.__client.updatePlayerStatus(paused, position)
|
self.__client.updatePlayerStatus(paused, position, cookie=cookie)
|
||||||
self.__fileUpdate.release()
|
self.__fileUpdate.release()
|
||||||
return
|
return
|
||||||
self.__echoGlobalStatus()
|
self.__echoGlobalStatus(cookie)
|
||||||
|
|
||||||
def __echoGlobalStatus(self):
|
def __echoGlobalStatus(self, cookie):
|
||||||
self.__client.updatePlayerStatus(self.__client.getGlobalPaused(), self.__client.getGlobalPosition())
|
self.__client.updatePlayerStatus(self.__client.getGlobalPaused(),
|
||||||
|
self.__client.getGlobalPosition(),
|
||||||
|
cookie=cookie)
|
||||||
|
|
||||||
def __forcePause(self):
|
def __forcePause(self):
|
||||||
for _ in xrange(constants.MPC_MAX_RETRIES):
|
for _ in xrange(constants.MPC_MAX_RETRIES):
|
||||||
|
|||||||
@ -72,14 +72,14 @@ class MplayerPlayer(BasePlayer):
|
|||||||
self.reactor.callLater(0, self._client.initPlayer, self)
|
self.reactor.callLater(0, self._client.initPlayer, self)
|
||||||
self._onFileUpdate()
|
self._onFileUpdate()
|
||||||
|
|
||||||
def askForStatus(self):
|
def askForStatus(self, cookie=None):
|
||||||
self._positionAsk.clear()
|
self._positionAsk.clear()
|
||||||
self._pausedAsk.clear()
|
self._pausedAsk.clear()
|
||||||
self._getPaused()
|
self._getPaused()
|
||||||
self._getPosition()
|
self._getPosition()
|
||||||
self._positionAsk.wait()
|
self._positionAsk.wait()
|
||||||
self._pausedAsk.wait()
|
self._pausedAsk.wait()
|
||||||
self._client.updatePlayerStatus(self._paused, self._position)
|
self._client.updatePlayerStatus(self._paused, self._position, cookie=cookie)
|
||||||
|
|
||||||
def _setProperty(self, property_, value):
|
def _setProperty(self, property_, value):
|
||||||
self._listener.sendLine("set_property {} {}".format(property_, value))
|
self._listener.sendLine("set_property {} {}".format(property_, value))
|
||||||
|
|||||||
@ -154,14 +154,16 @@ class NewMpvPlayer(OldMpvPlayer):
|
|||||||
else:
|
else:
|
||||||
self._paused = self._client.getGlobalPaused()
|
self._paused = self._client.getGlobalPaused()
|
||||||
|
|
||||||
def askForStatus(self):
|
def askForStatus(self, cookie=None):
|
||||||
self._positionAsk.clear()
|
self._positionAsk.clear()
|
||||||
self._pausedAsk.clear()
|
self._pausedAsk.clear()
|
||||||
self._getPaused()
|
self._getPaused()
|
||||||
self._getPosition()
|
self._getPosition()
|
||||||
self._positionAsk.wait(constants.MPV_LOCK_WAIT_TIME)
|
self._positionAsk.wait(constants.MPV_LOCK_WAIT_TIME)
|
||||||
self._pausedAsk.wait(constants.MPV_LOCK_WAIT_TIME)
|
self._pausedAsk.wait(constants.MPV_LOCK_WAIT_TIME)
|
||||||
self._client.updatePlayerStatus(self._paused if self.fileLoaded else self._client.getGlobalPaused(), self.getCalculatedPosition())
|
self._client.updatePlayerStatus(self._paused if self.fileLoaded else self._client.getGlobalPaused(),
|
||||||
|
self.getCalculatedPosition(),
|
||||||
|
cookie=cookie)
|
||||||
|
|
||||||
def _preparePlayer(self):
|
def _preparePlayer(self):
|
||||||
if self.delayedFilePath:
|
if self.delayedFilePath:
|
||||||
|
|||||||
@ -84,16 +84,20 @@ class VlcPlayer(BasePlayer):
|
|||||||
self.setPaused(self._client.getGlobalPaused())
|
self.setPaused(self._client.getGlobalPaused())
|
||||||
self.setPosition(self._client.getGlobalPosition())
|
self.setPosition(self._client.getGlobalPosition())
|
||||||
|
|
||||||
def askForStatus(self):
|
def askForStatus(self, cookie=None):
|
||||||
self._filechanged = False
|
self._filechanged = False
|
||||||
self._positionAsk.clear()
|
self._positionAsk.clear()
|
||||||
self._pausedAsk.clear()
|
self._pausedAsk.clear()
|
||||||
self._listener.sendLine(".")
|
self._listener.sendLine(".")
|
||||||
if self._filename and not self._filechanged:
|
if self._filename and not self._filechanged:
|
||||||
self._positionAsk.wait(constants.PLAYER_ASK_DELAY)
|
self._positionAsk.wait(constants.PLAYER_ASK_DELAY)
|
||||||
self._client.updatePlayerStatus(self._paused, self.getCalculatedPosition())
|
self._client.updatePlayerStatus(self._paused,
|
||||||
|
self.getCalculatedPosition(),
|
||||||
|
cookie=cookie)
|
||||||
else:
|
else:
|
||||||
self._client.updatePlayerStatus(self._client.getGlobalPaused(), self._client.getGlobalPosition())
|
self._client.updatePlayerStatus(self._client.getGlobalPaused(),
|
||||||
|
self._client.getGlobalPosition(),
|
||||||
|
cookie=cookie)
|
||||||
|
|
||||||
def getCalculatedPosition(self):
|
def getCalculatedPosition(self):
|
||||||
if self._lastVLCPositionUpdate is None:
|
if self._lastVLCPositionUpdate is None:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user