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?
port = CreateObject("roMessagePort")
videoScreen = CreateObject("roVideoScreen")
videoclip = CreateObject("roAssociativeArray")
videoclip.title = "HLS Test"
videoclip.ContentType = "movie"
videoclip.StreamFormat = "hls"
videoclip.StreamBitrates = 
videoclip.StreamQualities = ["0"]
videoclip.StreamUrls = ["tmp:/test.m3u8"]
msg = wait(0, port)
if type(msg) = "roVideoScreenEvent"
if msg.isScreenClosed() then 'ScreenClosed event'
print "Closing video screen"
else if msg.isPlaybackPosition() then
else if msg.isRequestFailed()
print "play failed: "; msg.GetMessage()
else if msg.isFullResult()
else if msg.isPartialResult()
print "Unknown event: "; msg.GetType(); " msg: "; msg.GetMessage()
The result is always the "play failed: An unexpected problem (but not server timeout or HTTP error) has been detected." message.
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.