mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-25 10:16:11 +00:00
Correction to the http dialog
However still unsure there's a bug. The only way the dialog will show up is if xbmcvfs.exists() returned false. Still waiting for someone to post a debug log.
This commit is contained in:
parent
097d48c2c4
commit
4a6c5c10ac
2 changed files with 18 additions and 8 deletions
|
@ -22,6 +22,7 @@ class PlayUtils():
|
|||
|
||||
addonName = clientInfo.getAddonName()
|
||||
addon = xbmcaddon.Addon()
|
||||
WINDOW = xbmcgui.Window(10000)
|
||||
|
||||
audioPref = addon.getSetting('Audiopref')
|
||||
subsPref = addon.getSetting('Subspref')
|
||||
|
@ -36,7 +37,7 @@ class PlayUtils():
|
|||
|
||||
def getPlayUrl(self, server, id, result):
|
||||
|
||||
WINDOW = xbmcgui.Window(10000)
|
||||
WINDOW = self.WINDOW
|
||||
username = WINDOW.getProperty('currUser')
|
||||
server = WINDOW.getProperty('server%s' % username)
|
||||
|
||||
|
@ -54,11 +55,15 @@ class PlayUtils():
|
|||
self.logMsg("File is direct streaming.", 1)
|
||||
WINDOW.setProperty("%splaymethod" % playurl, "DirectStream")
|
||||
|
||||
else:# Try transcoding
|
||||
elif self.isTranscoding(result):
|
||||
# Try transcoding
|
||||
playurl = self.transcoding(result, server, id)
|
||||
if playurl:
|
||||
self.logMsg("File is transcoding.", 1)
|
||||
WINDOW.setProperty("%splaymethod" % playurl, "Transcode")
|
||||
else:
|
||||
# Error
|
||||
return False
|
||||
|
||||
return playurl.encode('utf-8')
|
||||
|
||||
|
@ -86,16 +91,19 @@ class PlayUtils():
|
|||
if self.fileExists(result):
|
||||
return True
|
||||
else:
|
||||
self.logMsg("Can't direct play: Unable to locate the content.", 1)
|
||||
self.logMsg("Unable to direct play. Verify the following path is accessible by the device: %s. You might also need to add SMB credentials in the addon settings." % result[u'MediaSources'][0][u'Path'])
|
||||
if dialog:
|
||||
# Let user know that direct play failed
|
||||
resp = xbmcgui.Dialog().select('Warning: Unable to direct play.', ['Play from HTTP', 'Play from HTTP and remember next time.'])
|
||||
dialog = xbmcgui.Dialog()
|
||||
resp = dialog.select('Warning: Unable to direct play.', ['Play from HTTP', 'Play from HTTP and remember next time.'])
|
||||
if resp == 1:
|
||||
# Remember next time
|
||||
self.addon.setSetting('playFromStream', "true")
|
||||
else:
|
||||
elif resp < 0:
|
||||
# User decided not to proceed.
|
||||
self.logMsg("Unable to direct play. Verify the following path is accessible by the device: %s. You might also need to add SMB credentials in the addon settings." % result[u'MediaSources'][0][u'Path'])
|
||||
self.logMsg("User cancelled HTTP selection dialog.", 1)
|
||||
self.WINDOW.setProperty("playurlFalse", "true")
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ class PlaybackUtils():
|
|||
language = addon.getLocalizedString
|
||||
logLevel = 0
|
||||
downloadUtils = DownloadUtils()
|
||||
|
||||
WINDOW.clearProperty('playurlFalse')
|
||||
|
||||
def __init__(self, *args):
|
||||
pass
|
||||
|
@ -90,8 +92,8 @@ class PlaybackUtils():
|
|||
return self.AddToPlaylist(itemsToPlay)
|
||||
|
||||
playurl = PlayUtils().getPlayUrl(server, id, result)
|
||||
if playurl == False:
|
||||
#xbmcgui.Dialog().ok('Warning', 'Failed to launch playback.')
|
||||
if playurl == False or WINDOW.getProperty('playurlFalse') == "true":
|
||||
WINDOW.clearProperty('playurlFalse')
|
||||
xbmc.log("Failed to retrieve the playback path/url.")
|
||||
return
|
||||
|
||||
|
|
Loading…
Reference in a new issue