def play_video(episode_url, thumbnail):
episodeDetails = {}
for i in range(int(this.getSetting('loginRetries')) + 1):
episodeDetails = get_media_info(episode_url)
if episodeDetails and episodeDetails.get('StatusCode', 0) == 1:
break
else:
login()
if episodeDetails and episodeDetails.get('StatusCode', 0) == 1:
media_url = episodeDetails['MediaReturnObj']['uri']
common.log(episodeDetails['MediaReturnObj']['live'] == False)
if not episodeDetails['MediaReturnObj']['live']:
# re-enable bw limiting in v0.1.12. Streams has very variable rate
# and without this limits, the stream will drop.
media_url = media_url.replace('&b=100-1000', '&b=100-6000')
server_override_enable = this.getSetting('server_override_enable')
server_override_url = this.getSetting('server_override_url')
common.log('#'*30)
common.log(server_override_url)
common.log(server_override_enable)
if server_override_enable.lower() == 'true' and server_override_url:
media_url = media_url.replace('http://o2-i.',
server_override_url)
liz = xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=thumbnail, path=media_url)
liz.setInfo(type="Video", infoLabels={"Title": name})
liz.setProperty('IsPlayable', 'true')
return xbmcplugin.setResolvedUrl(thisPlugin, True, liz)
else:
default_msg = 'Subscription is already expired \
or the item is not part of your \
subscription.'
status_msg = episodeDetails.get('StatusMessage', default_msg)
xbmc.executebuiltin('Notification(%s, %s)' % \
('Media Error', status_msg))
评论列表
文章目录