Avoid unnecessary items in mpv sendMessage queue
This commit is contained in:
parent
28eb7a0561
commit
6a56a637d3
@ -157,6 +157,8 @@ MPV_NEW_VERSION = False
|
||||
VLC_SLAVE_ARGS = ['--extraintf=luaintf', '--lua-intf=syncplay', '--no-quiet', '--no-input-fast-seek',
|
||||
'--play-and-pause', '--start-time=0']
|
||||
VLC_SLAVE_NONOSX_ARGS = ['--no-one-instance', '--no-one-instance-when-started-from-file']
|
||||
MPV_SUPERSEDE_IF_DUPLICATE_COMMANDS = ["no-osd set time-pos ", "loadfile "]
|
||||
MPV_REMOVE_BOTH_IF_DUPLICATE_COMMANDS = ["cycle pause"]
|
||||
MPLAYER_ANSWER_REGEX = "^ANS_([a-zA-Z_-]+)=(.+)$|^(Exiting)\.\.\. \((.+)\)$"
|
||||
VLC_ANSWER_REGEX = r"(?:^(?P<command>[a-zA-Z_]+)(?:\: )?(?P<argument>.*))"
|
||||
UI_COMMAND_REGEX = r"^(?P<command>[^\ ]+)(?:\ (?P<parameter>.+))?"
|
||||
|
||||
@ -350,6 +350,27 @@ class MplayerPlayer(BasePlayer):
|
||||
if self.readyToSend == False and "print_text ANS_pause" in line:
|
||||
self.__playerController._client.ui.showDebugMessage("<mpv> Not ready to get status update, so skipping")
|
||||
return
|
||||
try:
|
||||
if self.sendQueue:
|
||||
if constants.MPV_SUPERSEDE_IF_DUPLICATE_COMMANDS:
|
||||
for command in constants.MPV_SUPERSEDE_IF_DUPLICATE_COMMANDS:
|
||||
if line.startswith(command):
|
||||
for itemID, deletionCandidate in enumerate(self.sendQueue):
|
||||
if deletionCandidate.startswith(command):
|
||||
self.__playerController._client.ui.showDebugMessage(u"<mpv> Remove duplicate (supersede): {}".format(self.sendQueue[itemID]))
|
||||
self.sendQueue.remove(self.sendQueue[itemID])
|
||||
break
|
||||
break
|
||||
if constants.MPV_REMOVE_BOTH_IF_DUPLICATE_COMMANDS:
|
||||
for command in constants.MPV_REMOVE_BOTH_IF_DUPLICATE_COMMANDS:
|
||||
if line == command:
|
||||
for itemID, deletionCandidate in enumerate(self.sendQueue):
|
||||
if deletionCandidate == command:
|
||||
self.__playerController._client.ui.showDebugMessage(u"<mpv> Remove duplicate (delete both): {}".format(self.sendQueue[itemID]))
|
||||
self.__playerController._client.ui.showDebugMessage(self.sendQueue[itemID])
|
||||
return
|
||||
except:
|
||||
self.__playerController._client.ui.showDebugMessage("<mpv> Problem removing duplicates, etc")
|
||||
self.sendQueue.append(line)
|
||||
self.processSendQueue()
|
||||
if notReadyAfterThis:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user