Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
renojim
Community Streaming Expert

Re: Request Failed: -3: An unexpected problem (but not serve

Mark, I think you're off by two bytes. This is what I see:

ctts 00 00 00 00 00 00 14 57 00 00 00 01
^ ^ ^ ^
| flags entries 1st entry
version

I think everyone's also missing the part where the video can be played if I download it and play it from my local server. I can also do a roUrlTransfer and save it to tmp:/ and play it from there.

I think the really interesting thing is that this code will crash my Roku 2 XS:
Sub RunUserInterface()
screenFacade = CreateObject("roPosterScreen")
screenFacade.showMessage("Ania")
screenFacade.show()

port = CreateObject("roMessagePort")
videoScreen = CreateObject("roVideoScreen")
videoScreen.setMessagePort(port)
videoScreen.SetPositionNotificationPeriod(10)

videoclip = {}
videoclip.StreamUrls = ["http://telestream.interia.pl/teledyski/HQ/q/s/Ania_Wyszkoni0_Ania_25550.ehfjw"]
videoclip.StreamFormat = "mp4"
videoclip.ContentType = "movie"
videoclip.title = "Ania test"
videoclip.StreamBitrates = [0]
videoclip.playstart = 0
videoclip.StreamQualities = ["SD"]

videoScreen.SetContent(videoclip)

log = CreateObject("roSystemLog")
log.SetMessagePort(port)
log.EnableType("http.connect")
log.EnableType("http.error")

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
nowpos = msg.GetIndex()
print nowpos
else if msg.isRequestFailed()
print "play failed: "; msg.GetMessage()
else if msg.isFullResult()
print "isFullResult"
nowpos = -1
else if msg.isPartialResult()
print "isPartialResult, nowpos = ";nowpos
else if msg.isStreamStarted()
print "isStreamStarted"
info = msg.GetInfo()
for each i in info
print i,info[i]
end for
else
print "Unknown event: "; msg.GetType(); " msg: "; msg.GetMessage()
end if
else
print "Event: ";type(msg)
print msg.GetInfo()
end if
end while

print "Exiting app"
screenFacade.showMessage("")
sleep(25)
End Sub

-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.
0 Kudos
RokuJoel
Binge Watcher

Re: Request Failed: -3: An unexpected problem (but not serve

That file crashes Quicktime on Windows as well...
0 Kudos
RokuMarkn
Visitor

Re: Request Failed: -3: An unexpected problem (but not serve

Ok, sorry, I was confused by the real problem, which is that this server is handling range requests very strangely.

If I download the file with no range requests, I get a valid MP4 file.
If I download the file with the range request "0-" (which also requests all of the file), I get a DIFFERENT file. This is invalid server behavior and is causing the problems.

BTW, if I download the complete file to my server (which handles range requests correctly) and play it from there, it plays fine.

--Mark
0 Kudos
renojim
Community Streaming Expert

Re: Request Failed: -3: An unexpected problem (but not serve

I noticed that (probably should have mentioned it). If I use curl -r 0-, I get a slightly different file than if I just save it from Firefox. It's interesting that some files seem to play ok and that some don't since I see similar behavior with both links the OP provided.

-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.
0 Kudos
shantyman
Visitor

Re: Request Failed: -3: An unexpected problem (but not serve

thank you all for your input, and thank you RokuMarkn for pointing us in right direction 🙂
You Rock. Our Dev Team solve this server side problem and we are back online.
Roku Channel: Eulive
0 Kudos