Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
adamkaz
Level 7

Older Rokus not correctly reporting display mode

We just published an update to our app that provides customers with an SD stream in addition to our HD stream. This is to avoid letterboxing on devices set to 4:3 mode or 16:9 mode, and reduces unnecessary bandwidth for the customer.

Since "quality" is set to true for the HD stream, if I attempt to play that stream on a device in SD mode, it will fail to play. This is the expected behavior.

After publishing the update, we have received a number of complaints of videos not working (attempting to play HD streams in SD display mode). After some troubleshooting, I found that if I have customers switch their display mode (say 4:3 to 16:9) and then back again, it works fine. This looks like a bug in the Roku firmware to me, where these devices are getting into a state where they are not properly reporting the video mode.

Here is the function I am using to determine which stream to use:

Function CanPlayHD()
device = createobject("rodeviceinfo")
vm = device.getvideomode()
if vm = "480i" or vm = "480p" or vm = "576p60"
return false
else
return true
end if
End Function


Roku already told us we can just play HD streams in letterbox mode by setting the quality to false, but that is not our desired behavior.
0 Kudos
4 Replies
EnTerr
Level 8

Re: Older Rokus not correctly reporting display mode

Any idea in what way the reported mode is wrong? I.e. what do the "bad" devices report. Is it possible to coax complainer into running a beta that reports you back roDeviceInfo tidbits
0 Kudos
adamkaz
Level 7

Re: Older Rokus not correctly reporting display mode

I considered begging a customer to ship me one while in the bad state. I'm going to play around next week and see if I can replicate. Will post back with results.
0 Kudos
TheEndless
Level 7

Re: Older Rokus not correctly reporting display mode

Not sure why the Roku would be reporting the wrong display mode, but is there any reason you couldn't use one of the other roDeviceInfo methods to determine if the device supports HD or not? e.g.,
displayIsHD = (deviceInfo.GetDisplayType() = "HDTV")
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
adamkaz
Level 7

Re: Older Rokus not correctly reporting display mode

@TheEndless: Because, for whatever reason, Roku didn't update GetDisplayType to cover 4K (and our channel offers 4K).

Just tested it again to be sure: on my Roku 4K TV -> GetDisplayType() = "HDTV". I didn't show all of the code in my example, but with GetVideoMode, you can figure out if you are in SD, HD, or 4K mode in one call.

Smiley Very Happy
0 Kudos