<streamFormat>hls</streamFormat>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>1500</streamBitrate>
<streamURL>http://xx/channel/content/MommieD/Season1/01x01/01x01-7.m3u8</streamURL>
</media>
<media>
<streamBitrate></streamBitrate>
<streamURL>http://xx/channel/content/MommieD/Season1/01x01/01x01-12.m3u8</streamURL>
</media>
<media>
<streamBitrate></streamBitrate>
<streamURL>http://xx/channel/content/MommieD/Season1/01x01/01x01-17.m3u8</streamURL>
</media>
<media>
<streamBitrate></streamBitrate>
<streamURL>http://xx/channel/content/MommieD/Season1/01x01/01x01-22.m3u8</streamURL>
</media>
'**********************************************************
'** Video Player Example Application - Video Playback
'** November 2009
'** Copyright (c) 2009 Roku Inc. All Rights Reserved.
'**********************************************************
'***********************************************************
'** Create and show the video screen. The video screen is
'** a special full screen video playback component. It
'** handles most of the keypresses automatically and our
'** job is primarily to make sure it has the correct data
'** at startup. We will receive event back on progress and
'** error conditions so it's important to monitor these to
'** understand what's going on, especially in the case of errors
'***********************************************************
Function showVideoScreen(episode As Object)
if type(episode) <> "roAssociativeArray" then
print "invalid data passed to showVideoScreen"
return -1
endif
port = CreateObject("roMessagePort")
screen = CreateObject("roVideoScreen")
screen.SetMessagePort(port)
screen.SetPositionNotificationPeriod(30)
screen.SetContent(episode)
screen.Show()
'Uncomment his line to dump the contents of the episode to be played
PrintAA(episode)
while true
msg = wait(0, port)
if type(msg) = "roVideoScreenEvent" then
print "showHomeScreen | msg = "; msg.getMessage() " | index = "; msg.GetIndex()
if msg.isScreenClosed()
print "Screen closed"
exit while
elseif msg.isRequestFailed()
print "Video request failure: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isStatusMessage()
print "Video status: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isButtonPressed()
print "Button pressed: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isPlaybackPosition() then
nowpos = msg.GetIndex()
RegWrite(episode.ContentId, nowpos.toStr())
else
print "Unexpected event type: "; msg.GetType()
end if
else
print "Unexpected message class: "; type(msg)
end if
end while
End Function
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1001, BANDWIDTH=1832000
http://99.58.184.42/channel/content/MommieD/Season1/01x01/01x01-7.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1001, BANDWIDTH=1201000
http://99.58.184.42/channel/content/MommieD/Season1/01x01/01x01-12.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1001, BANDWIDTH=989000
http://99.58.184.42/channel/content/MommieD/Season1/01x01/01x01-17.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1001, BANDWIDTH=897000
http://99.58.184.42/channel/content/MommieD/Season1/01x01/01x01-22.m3u8