I am using roVideoplayer to play HLS videos along with roImageCanvas for displaying progress bar/other info for a video and for the most part, it works fine. However, if the video url is invalid or doesn't point to a video, I catch the error via msg.isRequestFailed() where I exit the event loop for the videoplayer and call videoplayer.Stop(), and also clear the canvas.
This just freezes the entire Roku most of the times and I don't see any logs after the videoplayer.Stop() statement, so it looks like brightscript just never returns from the stop() function. Then the only way to get back up is plug off/plug on the device.
Is this a known issue? This is on a Roku 3 with firmware 6.2, build 3467. Please advise.
To put more context, the app has a roGridScreen, whose every cell can launch the videoplayer. Note that roVidoeplayer.stop() works just fine when a video ends or I press a back button to exit the event loop. I exit the video in that case and come back to the grid screen from where I can launch a new video. Only, when there is an error playing a video, I get this issue.
Maybe you shouldn't call .stop() on a roVidoeplayer which is not playing? Not sure this is one of them but there are certain places where if a program sneezes, Roku player poops itself. The work-around is not to sneeze in such places.
Just to be sure, put a debug print right before and right after the stop() and check the console - is that where it really hangs? Then let us know here, so they'll troubleshoot it eventually