mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-11-10 04:06:11 +00:00
wait for the data to be available on PlaybackStarted event
This commit is contained in:
parent
dbb9941813
commit
52bd5b662e
2 changed files with 18 additions and 6 deletions
|
@ -29,7 +29,7 @@ class Kodi_Monitor(xbmc.Monitor):
|
||||||
host = addon.getSetting('ipaddress')
|
host = addon.getSetting('ipaddress')
|
||||||
server = host + ":" + port
|
server = host + ":" + port
|
||||||
downloadUtils = DownloadUtils()
|
downloadUtils = DownloadUtils()
|
||||||
#print "onNotification:" + method + ":" + sender + ":" + str(data)
|
print "onNotification:" + method + ":" + sender + ":" + str(data)
|
||||||
#player started playing an item -
|
#player started playing an item -
|
||||||
if method == "Player.OnPlay":
|
if method == "Player.OnPlay":
|
||||||
print "playlist onadd is called"
|
print "playlist onadd is called"
|
||||||
|
|
|
@ -198,12 +198,22 @@ class Player( xbmc.Player ):
|
||||||
|
|
||||||
if xbmcplayer.isPlaying():
|
if xbmcplayer.isPlaying():
|
||||||
currentFile = xbmcplayer.getPlayingFile()
|
currentFile = xbmcplayer.getPlayingFile()
|
||||||
self.printDebug("emby Service -> onPlayBackStarted" + currentFile,2)
|
self.printDebug("emby Service -> onPlayBackStarted : " + currentFile, 0)
|
||||||
|
|
||||||
|
# we may need to wait until the info is available
|
||||||
|
item_id = WINDOW.getProperty(currentFile + "item_id")
|
||||||
|
tryCount = 0
|
||||||
|
while(item_id == None or item_id == ""):
|
||||||
|
xbmc.sleep(500)
|
||||||
|
item_id = WINDOW.getProperty(currentFile + "item_id")
|
||||||
|
tryCount += 1
|
||||||
|
if(tryCount == 20): # try 20 times or about 10 seconds
|
||||||
|
return
|
||||||
|
xbmc.sleep(500)
|
||||||
|
|
||||||
# grab all the info about this item from the stored windows props
|
# grab all the info about this item from the stored windows props
|
||||||
# only ever use the win props here, use the data map in all other places
|
# only ever use the win props here, use the data map in all other places
|
||||||
runtime = WINDOW.getProperty(currentFile + "runtimeticks")
|
runtime = WINDOW.getProperty(currentFile + "runtimeticks")
|
||||||
item_id = WINDOW.getProperty(currentFile + "item_id")
|
|
||||||
refresh_id = WINDOW.getProperty(currentFile + "refresh_id")
|
refresh_id = WINDOW.getProperty(currentFile + "refresh_id")
|
||||||
audioindex = WINDOW.getProperty(currentFile + "AudioStreamIndex")
|
audioindex = WINDOW.getProperty(currentFile + "AudioStreamIndex")
|
||||||
subtitleindex = WINDOW.getProperty(currentFile + "SubtitleStreamIndex")
|
subtitleindex = WINDOW.getProperty(currentFile + "SubtitleStreamIndex")
|
||||||
|
@ -214,6 +224,7 @@ class Player( xbmc.Player ):
|
||||||
PlaybackUtils().seekToPosition(int(seekTime))
|
PlaybackUtils().seekToPosition(int(seekTime))
|
||||||
|
|
||||||
if(item_id == None or len(item_id) == 0):
|
if(item_id == None or len(item_id) == 0):
|
||||||
|
self.printDebug("emby Service -> onPlayBackStarted : No info for current playing file", 0)
|
||||||
return
|
return
|
||||||
|
|
||||||
url = ("http://%s:%s/mediabrowser/Sessions/Playing" % (addonSettings.getSetting('ipaddress'), addonSettings.getSetting('port')))
|
url = ("http://%s:%s/mediabrowser/Sessions/Playing" % (addonSettings.getSetting('ipaddress'), addonSettings.getSetting('port')))
|
||||||
|
@ -231,6 +242,7 @@ class Player( xbmc.Player ):
|
||||||
if(subtitleindex != None and subtitleindex!=""):
|
if(subtitleindex != None and subtitleindex!=""):
|
||||||
url = url + "&SubtitleStreamIndex=" + subtitleindex
|
url = url + "&SubtitleStreamIndex=" + subtitleindex
|
||||||
|
|
||||||
|
self.printDebug("emby Service -> Sending Post Play Started : " + url, 0)
|
||||||
self.downloadUtils.downloadUrl(url, postBody="", type="POST")
|
self.downloadUtils.downloadUrl(url, postBody="", type="POST")
|
||||||
|
|
||||||
# save data map for updates and position calls
|
# save data map for updates and position calls
|
||||||
|
@ -245,8 +257,8 @@ class Player( xbmc.Player ):
|
||||||
data["Type"] = itemType
|
data["Type"] = itemType
|
||||||
self.played_information[currentFile] = data
|
self.played_information[currentFile] = data
|
||||||
|
|
||||||
self.printDebug("emby Service -> ADDING_FILE : " + currentFile)
|
self.printDebug("emby Service -> ADDING_FILE : " + currentFile, 0)
|
||||||
self.printDebug("emby Service -> ADDING_FILE : " + str(self.played_information))
|
self.printDebug("emby Service -> ADDING_FILE : " + str(self.played_information), 0)
|
||||||
|
|
||||||
# log some playback stats
|
# log some playback stats
|
||||||
if(itemType != None):
|
if(itemType != None):
|
||||||
|
|
Loading…
Reference in a new issue