Use addon.xml reuselanguageinvoker to turn add-on snappier

This commit is contained in:
croneter 2021-12-05 14:27:52 +01:00
parent c7a142b617
commit 889384a661
2 changed files with 6 additions and 11 deletions

View file

@ -20,6 +20,8 @@
</item>
</extension>
<extension point="xbmc.addon.metadata">
<!-- see e.g. https://github.com/xbmc/xbmc/pull/14136 -->
<reuselanguageinvoker>true</reuselanguageinvoker>
<assets>
<icon>icon.png</icon>
<fanart>fanart.jpg</fanart>

View file

@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
###############################################################################
from builtins import object
import logging
from sys import argv
@ -12,15 +10,10 @@ import xbmcplugin
from resources.lib import entrypoint, utils, transfer, variables as v, loghandler
###############################################################################
loghandler.config()
LOG = logging.getLogger('PLEX.default')
###############################################################################
HANDLE = int(argv[1])
class Main(object):
# MAIN ENTRY POINT
@ -158,21 +151,21 @@ class Main(object):
"""
Start up playback_starter in main Python thread
"""
request = '%s&handle=%s' % (argv[2], HANDLE)
request = '%s&handle=%s' % (argv[2], int(argv[1]))
# Put the request into the 'queue'
transfer.plex_command('PLAY-%s' % request)
if HANDLE == -1:
if int(argv[1]) == -1:
# Handle -1 received, not waiting for main thread
return
# Wait for the result from the main PKC thread
result = transfer.wait_for_transfer(source='main')
if result is True:
xbmcplugin.setResolvedUrl(HANDLE, False, xbmcgui.ListItem())
xbmcplugin.setResolvedUrl(int(argv[1]), False, xbmcgui.ListItem())
# Tell main thread that we're done
transfer.send(True, target='main')
else:
# Received a xbmcgui.ListItem()
xbmcplugin.setResolvedUrl(HANDLE, True, result)
xbmcplugin.setResolvedUrl(int(argv[1]), True, result)
if __name__ == '__main__':