Fix resetPosition for streams on mpv (hopefully)
This commit is contained in:
parent
a81a4ceb16
commit
48a2ad65d6
@ -116,6 +116,7 @@ MPC_RETRY_WAIT_TIME = 0.01
|
|||||||
MPC_MAX_RETRIES = 30
|
MPC_MAX_RETRIES = 30
|
||||||
MPC_PAUSE_TOGGLE_DELAY = 0.05
|
MPC_PAUSE_TOGGLE_DELAY = 0.05
|
||||||
MPV_NEWFILE_IGNORE_TIME = 1
|
MPV_NEWFILE_IGNORE_TIME = 1
|
||||||
|
STREAM_ADDITIONAL_IGNORE_TIME = 10
|
||||||
MPV_LOCK_WAIT_TIME = 0.2
|
MPV_LOCK_WAIT_TIME = 0.2
|
||||||
VLC_OPEN_MAX_WAIT_TIME = 15
|
VLC_OPEN_MAX_WAIT_TIME = 15
|
||||||
VLC_MIN_PORT = 10000
|
VLC_MIN_PORT = 10000
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import subprocess
|
|||||||
from syncplay.players.mplayer import MplayerPlayer
|
from syncplay.players.mplayer import MplayerPlayer
|
||||||
from syncplay.messages import getMessage
|
from syncplay.messages import getMessage
|
||||||
from syncplay import constants
|
from syncplay import constants
|
||||||
|
from syncplay.utils import isURL
|
||||||
import os, sys, time
|
import os, sys, time
|
||||||
|
|
||||||
class MpvPlayer(MplayerPlayer):
|
class MpvPlayer(MplayerPlayer):
|
||||||
@ -129,7 +130,12 @@ class NewMpvPlayer(OldMpvPlayer):
|
|||||||
|
|
||||||
if self.lastMPVPositionUpdate is None:
|
if self.lastMPVPositionUpdate is None:
|
||||||
return self._client.getGlobalPosition()
|
return self._client.getGlobalPosition()
|
||||||
|
|
||||||
|
if self._recentlyReset:
|
||||||
|
return self._position
|
||||||
|
|
||||||
diff = time.time() - self.lastMPVPositionUpdate
|
diff = time.time() - self.lastMPVPositionUpdate
|
||||||
|
|
||||||
if diff > constants.MPV_UNRESPONSIVE_THRESHOLD:
|
if diff > constants.MPV_UNRESPONSIVE_THRESHOLD:
|
||||||
self.reactor.callFromThread(self._client.ui.showErrorMessage, getMessage("mpv-unresponsive-error").format(int(diff)), True)
|
self.reactor.callFromThread(self._client.ui.showErrorMessage, getMessage("mpv-unresponsive-error").format(int(diff)), True)
|
||||||
self.drop()
|
self.drop()
|
||||||
@ -184,10 +190,15 @@ class NewMpvPlayer(OldMpvPlayer):
|
|||||||
def openFile(self, filePath, resetPosition=False):
|
def openFile(self, filePath, resetPosition=False):
|
||||||
if resetPosition:
|
if resetPosition:
|
||||||
self.lastResetTime = time.time()
|
self.lastResetTime = time.time()
|
||||||
|
if isURL(filePath):
|
||||||
|
self.lastResetTime += constants.STREAM_ADDITIONAL_IGNORE_TIME
|
||||||
self._loadFile(filePath)
|
self._loadFile(filePath)
|
||||||
if self._paused != self._client.getGlobalPaused():
|
if self._paused != self._client.getGlobalPaused():
|
||||||
self.setPaused(self._client.getGlobalPaused())
|
self.setPaused(self._client.getGlobalPaused())
|
||||||
self.setPosition(self._client.getGlobalPosition())
|
if resetPosition == False:
|
||||||
|
self.setPosition(self._client.getGlobalPosition())
|
||||||
|
else:
|
||||||
|
self._storePosition(0)
|
||||||
|
|
||||||
def _handleUnknownLine(self, line):
|
def _handleUnknownLine(self, line):
|
||||||
self.mpvVersionErrorCheck(line)
|
self.mpvVersionErrorCheck(line)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user