It won't let me update to 388; I've tried several times from different servers. As soon as I get it I'll let you know if it made a difference.
I was going to start a new thread since I didn't really want to hijack this one, but I'll put this here anyway. I tried stripping my code down to the bare minimum and creating a m3u8 file on the fly on the tmp device (maybe this isn't allowed, but I get the same result whether the m3u file is retrieved from my server or tmp). Maybe you can spot the problem?
Sub displayHls()
port = CreateObject("roMessagePort")
videoScreen = CreateObject("roVideoScreen")
videoScreen.setMessagePort(port)
videoclip = CreateObject("roAssociativeArray")
videoclip.title = "HLS Test"
videoclip.ContentType = "movie"
videoclip.StreamFormat = "hls"
videoclip.StreamBitrates = [500]
videoclip.StreamQualities = ["0"]
m3u="#EXTM3U"+chr(10)+"#EXT-X-TARGETDURATION:60"+chr(10)+"#EXTINF:60,Test Title"+chr(10)+"http://192.168.1.102/test.ts"+chr(10)+"#EXT-X-ENDLIST"+chr(10)
WriteAsciiFile("tmp:/test.m3u8",m3u)
videoclip.StreamUrls = ["tmp:/test.m3u8"]
videoScreen.SetContent(videoclip)
videoScreen.show()
while true
msg = wait(0, port)
if type(msg) = "roVideoScreenEvent"
if msg.isScreenClosed() then 'ScreenClosed event'
print "Closing video screen"
exit while
else if msg.isPlaybackPosition() then
print "isPlaybackPosition"
else if msg.isRequestFailed()
print "play failed: "; msg.GetMessage()
else if msg.isFullResult()
print "isFullResult"
'exit while
else if msg.isPartialResult()
print "isPartialResult"
'exit while
else
print "Unknown event: "; msg.GetType(); " msg: "; msg.GetMessage()
end if
end if
end while
End Sub
The result is always the "play failed: An unexpected problem (but not server timeout or HTTP error) has been detected." message.
-JT
Roku Community Streaming Expert
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.