rendered paste body# ------------------------------------------------------------------------------
# Define Dbox2 Function setup_channel(dbox_ipaddr, httpport, streamport, dbox_currentmode, chid)
# This function sets up the dbox ready to stream & streams the HTTP link
# Return Type: String
def setup_stream(dbox_ipaddr, httpport, streamport, dbox_currentmode, chid):
change = change_channel(dbox_ipaddr, httpport, chid)
pids = get_allpids(dbox_ipaddr, httpport)
selected_pid = pids[1][0]
if len(pids) > 2:
class SelectAudioStream(xbmcgui.WindowDialog):
def __init__(setaudio):
setaudio.bg = xbmcgui.ControlImage(200,25,520,500, 'panel2.png')
setaudio.addControl(setaudio.bg)
setaudio.header = xbmcgui.ControlLabel(305,95,245,25, 'Select Audio Stream', 'font13', '0xFFFFFFFF', '', 0x00000002)
setaudio.addControl(setaudio.header)
setaudio.list = xbmcgui.ControlList(230,130,400,320)
setaudio.addControl(setaudio.list)
setaudio.setFocus(setaudio.list)
stream_count = 0
for x in pids[1:]:
stream_count = stream_count + 1
listitem = xbmcgui.ListItem()
listitem.setLabel(str(stream_count) + '. ' + x[1])
setaudio.list.addItem(listitem)
def onControl(setaudio, control):
pass
def onAction(setaudio, action):
if action == ACTION_SELECT_ITEM:
setaudio.position = setaudio.list.getSelectedPosition()
selected_pid = pids[position + 1][0]
setaudio.removeControl(setaudio.list)
setaudio.removeControl(setaudio.header)
setaudio.removeControl(setaudio.bg)
setaudio.close()
if action == ACTION_PREVIOUS_MENU or action == ACTION_B_BUTTON:
setaudio.removeControl(setaudio.list)
setaudio.removeControl(setaudio.header)
setaudio.removeControl(setaudio.bg)
setaudio.close()
show_setaudio = SelectAudioStream()
show_setaudio.doModal()
if dbox_currentmode == 'tv':
httplink = str('http://' + dbox_ipaddr + ':' + streamport + '/' + hex(int(pids[0][0]))[2:] + ',' + hex(int(selected_pid))[2:])
else:
httplink = str('http://' + dbox_ipaddr + ':' + streamport + '/' + hex(int(selected_pid))[2:])
xbmc.executebuiltin('xbmc.playmedia(' + httplink + ')')
del show_setaudio